Как закрыть все открытые окна InfoWindow с помощью jquery-ui-map (плагин Google Map v3 для jQuery)

У пользователя есть загруженные маркеры в зависимости от того, где они выбирают свое местоположение. Маркеры очищаются при выборе нового местоположения. Если у меня открылось информационное окно, когда я очищаю маркеры, оно остается открытым, даже если маркер исчезает. Я хочу, чтобы любое открытое InfoWindow закрывалось при обновлении данных.

Мои детали реализации:

Я использую jquery-ui-map для улучшения своей реализации Google Maps с помощью jQuery.

Я прикрепляю событие щелчка при создании маркеров со следующим кодом (к вашему сведению: я вынул все конкретные детали и заменил их на общие).

$('#map-canvas').gmap('addMarker', {
    'position' : new google.maps.LatLng(latitude, longitude),
    'title' : myTitle,
    'icon' : myImage,
    'shadow' : myShadowImage
}).click(function() {
    $('#map-canvas').gmap('openInfoWindow', {
        'content' : displayContent(myObject)
    }, this);
});

Опция openInfoWindow ничего не возвращает, поэтому сохранение объекта InfoWindow в массиве для последующего его закрытия не выглядит приемлемым вариантом.

Кто-нибудь знает, как добиться этого с помощью библиотеки jquery-ui-map? Я не вижу closeInfoWindow в списке документации API.

1 ответ

Решение

jquery-ui-map v.beta

var theInfoWindowObject = $('#map_canvas').gmap('get', 'iw');
theInfoWindowObject.close();

JQuery-UI-карта V RC 1

$('#map_canvas').gmap('closeInfoWindow');
Другие вопросы по тегам