iOS端Google Maps AdvancedMarkerElement点击事件无响应问题排查与解决求助
iOS端Google Maps AdvancedMarkerElement点击事件无响应问题排查与解决求助
最近在做Google Maps相关开发时碰到了一个头大的问题,折腾了好一阵没找到原因,来求助各位大佬!
我用Google Maps的AdvancedMarkerElement创建了一个可拖拽的标记,代码如下:
const pin = new google.maps.marker.PinElement({ scale: 1.0, glyphColor: "green" }); var testMarker = new google.maps.marker.AdvancedMarkerElement({ content: pin.element, gmpClickable: true, gmpDraggable: true }); testMarker.position = new google.maps.LatLng(34.718420, 135.556109); testMarker.map = mapObj; testMarker.addListener('dragend', function (event) { alert('dragged'); }); testMarker.addListener('click', function (event) { alert('clicked'); });
现在遇到的诡异情况是:
- 在Windows的Chrome浏览器里,点击标记能正常弹出"clicked"的提示,拖拽结束也会触发"dragged"提示,一切正常;
- 但到了iOS设备上,不管是用Chrome还是Safari,点击标记完全没反应,连个提示都不弹;不过dragend事件倒是在iOS上也能正常触发;
- 我还试着把监听的
click事件换成gmp-click,结果还是一样,iOS上点击没反应; - 最奇怪的是,如果我把
dragend事件的监听代码删掉,iOS上的点击事件就立刻恢复正常了!
实在搞不懂为什么同时监听dragend和click会在iOS平台上产生这种冲突?有没有大佬遇到过类似的问题,或者能给我点排查的方向、可行的解决办法呀?
内容来源于stack exchange
相关产品推荐
相关产品推荐

