Не понял, что gmap3 - это библиотека-обёртка.Я удалю дубликат комментария.
Просматривая документацию по gmaps3, я не увидел ничего конкретного для удаления слушателей с помощью функций библиотек, но вы можете взять маркер с помощью action: 'get'
и затем очистить слушателя.пример, который изменен из документации.Я добавил имя и свойство тега к маркерам, и в конце этого сценария я удаляю слушателя mouseover
из маркера с помощью tag:'2'
.По какой-то причине эта библиотека непостоянна и хочет, чтобы свойства name
и tag
нашли маркер.
$('#test').gmap3({
action: 'init',
options: {
center: [46.578498, 2.457275],
zoom: 5
}
}, {
action: 'addMarkers',
markers: [
{
name : 'marker',
tag: '1',
lat: 48.8620722,
lng: 2.352047,
data: 'Paris !'},
{
name : 'marker',
tag: '2',
lat: 46.59433,
lng: 0.342236,
data: 'Poitiers : great city !'},
{
name : 'marker',
tag: '3',
lat: 42.704931,
lng: 2.894697,
data: 'Perpignan ! GO USAP !'}
],
marker: {
options: {
draggable: false
},
events: {
mouseover: function(marker, event, data) {
var map = $(this).gmap3('get'),
infowindow = $(this).gmap3({
action: 'get',
name: 'infowindow'
});
if (infowindow) {
infowindow.open(map, marker);
infowindow.setContent(data);
} else {
$(this).gmap3({
action: 'addinfowindow',
anchor: marker,
options: {
content: data
}
});
}
},
mouseout: function() {
var infowindow = $(this).gmap3({
action: 'get',
name: 'infowindow'
});
if (infowindow) {
infowindow.close();
}
}
}
}
});
//get the marker by name and tag
var mark = $('#test').gmap3({
action: 'get',
name:'marker',
tag: '2'
});
//remove the event listener
google.maps.event.clearListeners(mark, 'mouseover');
Вот пример работы этого скрипта: http://jsfiddle.net/5GcP7/. Маркер в середине не откроет информационное окно при наведении.