Наведите курсор мыши на пользовательское наложение в 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') });
}
Другие вопросы по тегам