Google Maps Maps Custommarker OverlayView单击移动设备不起作用的事件



我已经使用google.maps.overlayview。

创建了一个custommarkar。

我在绘制函数中添加了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");
});

PC浏览器上的一切正常:首先发射警报(MAP(,在警报(DIV(和最终警报(覆盖(之后。

但是在移动设备上仅警报(地图(触发....

如何在移动设备上进行此工作的解决方案?

使用'touchend'事件

在您的代码中,只需添加触摸开始事件侦听器

google.maps.event.addDomListener(overlay, 'touchend', function (event) {
    alert("overlay");
});

这对我有用。

最新更新