2013-02-19 2 views
0

Я использую google map api для своей персональной веб-галереи фотографий. Для каждого изображения с координатами gps я добавляю объект Maker на карте и объект InfoWindows, связанный с маркером, чтобы показать миниатюру, когда я нажимаю на маркер мышью.Как автоматически закрыть InfoWindows

Мой вопрос: Как автоматически закрыть InfoWindows, когда я нажимаю на другой маркер? Другим словом, когда я нажимаю на маркер, я хочу закрыть все открытые ранее InfoWindows.

Вы можете увидеть некоторые тесты здесь: http://avbo7291.o2switch.net/outils/test-google-map-api.html

Спасибо за вашу помощь

ответ

1

Вы можете использовать один экземпляр InfoWindow и просто установить новый контент на маркер мыши следующим образом:

var infowindow = new google.maps.InfoWindow(); 

google.maps.event.addListener(marker1, 'click', function() { 
    infowindow.setContent("Hello World 1 !"); 
    infowindow.open(map, this); 
}); 

google.maps.event.addListener(marker2, 'click', function() { 
    infowindow.setContent("Hello World 2 !"); 
    infowindow.open(map, this); 
}); 

Затем вы можете прикрепить событие клика к самой карте, чтобы закрыть это сообщение:

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

спасибо, он отлично работает! – vincent3569

Смежные вопросы