Google Maps API上的Longpress事件?

时间:2010-07-15 01:12:43

标签: javascript google-maps

我正在为手机创建一个网络应用,如果他们长时间按地图的某个部分,就会发生一些事情。不幸的是,我不能使用带有mousedown / mouseup组合的window.setTimeout(..),因为Maps API不包含那些事件,因为它会破坏拖动事件。还有另一种方法吗?必须有一种方法,因为当您长按右键单击Google地图上的计算机时,手机上的地图webapp会弹出相同的菜单 - 只是不知道如何!请让我知道!!

提前致谢!

2 个答案:

答案 0 :(得分:1)

我认为您不能使用DOM mousedown / mouseup事件而不是Maps API事件来检测长按。您甚至可以使用Maps API附加侦听器(例如,假设您具有包含地图的元素):

 google.maps.event.addDomListener(document.getElementById('map_canvas'), 'mousedown', function () { console.log("Test") });

答案 1 :(得分:0)

很好的问题。经过大量挖掘后,我在Android和iPhone的触摸和手势事件中找到了以下页面。希望这个列表对你有用:

http://backtothecode.blogspot.com/2009/10/javascript-touch-and-gesture-events.html

详细说明,你可能想要处理touchstart和touchend事件,或许可以跟踪每个事件的“光标”位置,以确定它是拖动还是只是按下。祝你好运,如果你不认为这是一个明确的答案,我不会责备你。 :P