Как проверить, установлено ли информационное окно и на карте? - PullRequest
2 голосов
/ 10 июля 2010

Есть ли способ сначала проверить, установлено ли информационное окно и на карте перед использованием

marker.infowindow.close();

если это не установлено и не на карте, скрипт не работает? Я думал о проверке оператора if перед закрытием?

Ответы [ 3 ]

1 голос
/ 10 декабря 2014

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

var currentInfoWindow = null;

if(currentInfoWindow !== null){
    currentInfoWindow.close();
}

Затем, после вызова infoWindow.open(), присвойте currentInfoWindow новому информационному окну:

currentInfoWindow = infoWindow;

Это особенно полезно, чтобы убедиться, что на карте открыто только одно информационное окно.

0 голосов
/ 19 июня 2012

Вы можете присвоить идентификатор div, который вы используете в качестве содержимого InfoWindow.document.getElementById('content-div-id') вернет div, если InfoWindow открыто на карте, а null в противном случае.

0 голосов
/ 10 июля 2010

Вы можете использовать функцию typeof в Javascript.

if (typeof(marker.infowindow) === "undefined"){
//object doesn't exist
}
else{
//the object does exist
marker.infowindow.close();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...