Наведите курсор мыши на пользовательское наложение в Google Maps
Можно ли прослушивать событие наведения мыши на пользовательское наложение в Картах Google (API v3)? Быстрый пример:
function HWPMarker(map, coords, text) { […] }
HWPMarker.prototype = new google.maps.OverlayView();
HWPMarker.prototype.draw = function() { […] }
HWPMarker.prototype.onAdd = function() {
$(this.getPanes().overlayLayer).append(this.marker); // this.marker is a div
// THIS IS WHERE I TRY TO LISTEN TO THE MOUSEOVER EVENT
google.maps.event.addListener(this, 'mouseover', function(){ alert('mouseover') });
}
Я делаю что-то неправильно? Или невозможно навести курсор мыши на пользовательский оверлей?
1 ответ
Решение
Этот ответ указывает на то, что API Карт v3 больше не принимает события мыши. Итак, что нам нужно сделать, это добавить элемент DOM overlayMouseTarget
и использовать слушатель Google Maps DOM. Вот как это работает:
HWPMarker.prototype.onAdd = function() {
this.getPanes().overlayMouseTarget.appendChild(this.marker); // this.marker = my dom el
google.maps.event.addDomListener(this.marker, 'mouseover', function(){ alert('mouseover') });
}