Comment fermer tous les Infowindows ouverts à l'aide de jQuery-Ui-Map (Google Map V3 Plugin pour jQuery)

StackOverflow https://stackoverflow.com/questions/9001669

Question

L'utilisateur a des marqueurs chargés en fonction de l'endroit où il sélectionne son emplacement. Les marqueurs sont effacés lorsqu'un nouvel emplacement est choisi. Si j'ai un infoindow ouvert lorsque je nettoie les marqueurs, il reste ouvert même si le marqueur disparaît. Je veux que tout info-window ouvert se ferme lorsque les données sont rafraîchies.

Mes détails d'implémentation:

j'utilise jQuery-ui-map Pour améliorer mon implémentation Google Maps avec jQuery.

J'attache un événement de clic lors de la création des marqueurs avec le code suivant (FYI: J'ai retiré tous les détails spécifiques et les ai remplacés par des génériques).

$('#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);
});

L'option openInfoWindow Ne renvoie rien, donc le stockage de l'objet Infowindow dans un tableau pour le fermer plus tard ne ressemble pas à une option viable.

Est-ce que quelqu'un sait comment y parvenir en utilisant la bibliothèque jQuery-Ui-Map? Je ne vois pas de CloseInfowindow répertorié dans la documentation de l'API.

Était-ce utile?

La solution

jQuery-Ui-Map V.Beta

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

jQuery-ui-Map V rc 1

$('#map_canvas').gmap('closeInfoWindow');
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top