Google Maps API V3是否支持触摸事件?

时间:2013-04-23 11:36:44

标签: google-maps google-maps-api-3 touch internet-explorer-10 touchscreen

我们遇到与GoogleMaps相关的an issue。问题主要与触摸屏有关。我们试图解决这个问题,但到目前为止还没有成功。

我们发现in this article Google Maps API V3不支持触摸事件?这是真是假?

更新

此问题已在错误中处理

https://issuetracker.google.com/issues/35824421

并于2016年12月在Google Maps JavaScript API 3.27版中得到解决。

2 个答案:

答案 0 :(得分:13)

根据我的经验,mousedownmouseupdragstartdragend事件可以正常取代touchstarttouchmove,{ {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事件,并且在某些情况下可能导致触发鼠标悬停事件),因此在借用时可能需要进行一些直接处理以可靠地处理此类事件'这些事件可以检测触摸。

这是一篇关于与听众处理触摸的好文章:

https://www.google.com.au/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwiwm6y38dXXAhWHVbwKHRdUCY4QFggmMAA&url=https%3A%2F%2Fmedium.com%2F%40david.gilbertson%2Fthe-only-way-to-detect-touch-with-javascript-7791a3346685&usg=AOvVaw3pWv0R_AESWKqwF72D0hix