【问题标题】:Does Google Maps API V3 support touch event?Google Maps API V3 是否支持触摸事件?
【发布时间】:2025-12-03 13:05:02
【问题描述】:

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

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

更新

这个问题已经在bug中处理了

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

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

【问题讨论】:

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


    【解决方案1】:

    根据我的经验,mousedownmouseupdragstartdragend 事件可以很好地代替 touchstarttouchmovetouchend

    google.maps.event.addListener(myMap, "mousedown", function(event){...});
    

    我很确定 gesture 事件将不受支持,因为它们用于捏合缩放功能。

    如果您需要手势,则必须通过跟踪 mousedown 事件、将它们存储在数组中、然后跟踪位置以确定角度、距离等来构建自己的识别器...

    【讨论】:

      【解决方案2】:

      它们目前不受支持。请参阅此处查看显示当前可用事件演示的交互式地图:

      https://developers.google.com/maps/documentation/javascript/events#EventsOverview

      此页面还声明:

      有关事件的完整列表,请参阅 Google Maps JavaScript API 参考。

      该页面中没有与触摸相关的事件,因此不受支持。

      评论接受的答案,支持的事件严格等效(触摸在语义上与鼠标点击明显不同),根据我的经验,结果可能是可变的(例如在某些情况下,触摸会导致在 Google 地图上触发 onclick 事件,并且在某些情况下可能会导致触发 mouseover 事件),因此可能需要一些失败处理以在“借用”时可靠地处理此类事件' 这些事件来检测触摸。

      这是一篇关于用监听器处理触摸的好文章:

      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

      【讨论】:

        最近更新 更多