移动设备上的Google地图CustomMarker OverlayView点击事件无效

时间:2018-02-22 07:54:27

标签: javascript google-maps overlay-view

我使用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浏览器上的一切正常: 首先发出警报(地图),然后发出警报(div)并最终警告(重叠)。

但是在移动设备上只有警报(地图)会闪现......

在移动设备上实现此功能的解决方案是什么?

1 个答案:

答案 0 :(得分:0)

  

使用'touchend'活动

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

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

这对我有用。