我们遇到与GoogleMaps相关的an issue。问题主要与触摸屏有关。我们试图解决这个问题,但到目前为止还没有成功。
我们发现in this article Google Maps API V3不支持触摸事件?这是真是假?
更新
此问题已在错误中处理
https://issuetracker.google.com/issues/35824421
并于2016年12月在Google Maps JavaScript API 3.27版中得到解决。
答案 0 :(得分:13)
根据我的经验,mousedown
,mouseup
,dragstart
,dragend
事件可以正常取代touchstart
,touchmove
,{ {1}}。
touchend
我非常确定不会支持google.maps.event.addListener(myMap, "mousedown", function(event){...});
个事件,因为它们用于缩放缩放功能。
如果你需要手势,你必须通过跟踪mousedown事件,将它们存储在一个数组中,然后跟踪位置以确定角度,距离等来构建自己的识别器......
答案 1 :(得分:0)
目前不支持它们。请参阅此处查看显示当前可用事件演示的交互式地图:
https://developers.google.com/maps/documentation/javascript/events#EventsOverview
此页面还说明:
有关完整的活动列表,请参阅Google Maps JavaScript API 参考
该页面中没有触摸相关事件,因此不支持它们。
评论已接受的答案时,支持的事件不严格等同(触摸明显与鼠标点击在语义上不同),根据我的经验,结果可以变化(例如在在某些情况下,触摸可能会导致在Google地图上触发onclick事件,并且在某些情况下可能导致触发鼠标悬停事件),因此在借用时可能需要进行一些直接处理以可靠地处理此类事件'这些事件可以检测触摸。
这是一篇关于与听众处理触摸的好文章: