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

Пользователь загружает маркеры в зависимости от того, где они выбирают свое местоположение.Маркеры очищаются при выборе нового местоположения.Если у меня открылось информационное окно, когда я очищаю маркеры, оно остается открытым, даже если маркер исчезает.Я хочу, чтобы любое открытое 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-карта библиотеки?Я не вижу closeInfoWindow, перечисленного в документации API.

1 Ответ

2 голосов
/ 26 января 2012

jquery-ui-map v.beta

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

jquery-ui-map v rc 1

$('#map_canvas').gmap('closeInfoWindow');
...