Не работает событие клика Google Maps CustomMarker OverlayView на мобильном устройстве
Я создал CustomMarkar, используя google.maps.OverlayView.
Я добавил DomListener к нему в функции рисования:
google.maps.event.addDomListener(div, "click", function (event) {
alert("div");
google.maps.event.trigger(self, "click");
});
Я добавил это в floatPane
var panes = this.getPanes();
panes.floatPane.appendChild(div);
Когда я создаю новый CustomMarker, я добавляю DomListener к нему:
let overlay = new CustomMarker(
myLatlng,
this.map,
options
);
google.maps.event.addDomListener(overlay, 'click', function (event) {
alert("overlay");
});
И, наконец, слушатель на карте:
google.maps.event.addListener(this.map, 'click', function (event) {
alert("map");
});
Все отлично работает в браузере ПК: сначала запускается оповещение (карта), затем оповещение (div) и, наконец, оповещение (overlay).
Но на мобильных устройствах срабатывает только оповещение (карта)....
Какое решение сделать эту работу на мобильных устройствах?
1 ответ
использовать событие "touchend"
В своем коде просто добавьте прослушиватель событий start start
google.maps.event.addDomListener(overlay, 'touchend', function (event) {
alert("overlay");
});
Это сработало для меня.