Подтвердить что ты не робот

Закрытие информационных окон на картах Google, щелкнув по карте?

Я делаю мобильное веб-приложение.

В состав приложения входит несколько маркеров, которые можно щелкнуть, чтобы открыть информационные окна. Это раздражает меня, что они не исчезают, если вы продолжаете использовать карту, не подтверждая их, как в приложении iOS.

Есть ли способ установить его так, чтобы пользователь щелкнул базовую карту, все открытые информационные окна закрыты?

4b9b3361

Ответ 1

добавить прослушиватель для отображения события клика и закрытия инфобокса в его обработчике

google.maps.event.addListener(map, "click", function(event) {
    for (var i = 0; i < ibArray.length; i++ ) {  //I assume you have your infoboxes in some array
         ibArray[i].close();
    }
});

Я делаю это на обычных веб-сайтах, но не вижу причин, по которым он не будет работать на мобильных устройствах

Ответ 2

Попробуйте следующее:

google.maps.event.addListener(map, "click", function(event) {
    infowindow.close();
});

Это очень просто, должно работать.

Ответ 3

google.maps.event.addListener(marker, 'click', function() {
    if(!marker.open){
        infoWindow.open(map,marker);
        marker.open = true;
    }
    else{
        infoWindow.close();
        marker.open = false;
    }
    google.maps.event.addListener(map, 'click', function() {
        infoWindow.close();
        marker.open = false;
    });
});

Отлично работает