2016-08-09 10 views
0

Проверьте мой образец кода здесь https://jsfiddle.net/liangyongning/cd5wbzL8/5/Как настроить пользовательский оверлей Google Maps над зоной щелчка маркера?

создать пользовательский накладку под названием MyOverlay, и добавить его в floatPane, Я проверить API Карт Google, он сказал мне, что floatPane выше overlayMouseTarget

  • overlayMouseTarget содержит элементы, которые получают события мыши DOM, такие как прозрачные цели для маркеров. Это выше floatShadow, так что маркеры в тени информационного окна могут быть интерактивными. (Панель 5).
  • floatPane содержит информационное окно. Это, прежде всего, наложения карт. (Панель 6).

Источник: https://developers.google.com/maps/documentation/javascript/customoverlays#initialize

Но маркер позади этого наложения кликабельна, даже если InfoWindow покрытие на нем.

Если я удалю оверлей в строке 27, все будет хорошо.

// var overlay = new MyOverlay(map); 

Что случилось с моим пользовательским наложением? Как сделать это над зоной щелчка маркера?

ответ

1

Хорошо, я нашел ответ, мне нужно отключить некоторые события мыши на моем пользовательском оверлее.

google.maps.event.addDomListener(this._div, 'click', function (e) { 
    e.cancelBubble = true; 
    e.stopPropagation && e.stopPropagation(); 
}) 

Вот код: https://jsfiddle.net/liangyongning/cd5wbzL8/7/

Ссылка: Prevent google overlay/infowindow from allowing clicks through to markers underneath

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