我已经使用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");
});
这对我有用。