2013-02-25 111 views
2

我有一个网站使用谷歌地图API v3,我无法让捏缩放属性正常工作。而不是捏放缩放,手势始终执行缩小。禁用谷歌地图上的捏缩放[桌面]

这是一台具有触摸功能的PC显示器。所以,因为我无法正常工作,我决定禁用该功能。

我取消使用以下

document.documentElement.ontouchstart = function() {return false} 

这具有不必要的副作用的触摸事件。此代码会取消整个触摸事件,因此用户无法使用Google Maps默认缩放控件。我尝试将'ontouchstart'更改为'ontouchmove'事件,但这并不妨碍地图缩小。

关于如何禁用该功能的任何想法或可能是如何解决捏到缩放功能? 我可以发布网站的网址,但它只是一个简单的谷歌地图,你不会注意到这个问题,除非你有一个触摸启用监视器。

+1

它不适合你,所以你决定为每个人禁用它? – Dennis 2013-02-25 02:56:37

+0

对不起,为什么你这么担心?这不是一个公共网站,当一个功能使用起来更加痛苦时,最好禁用它。 而且,如果您打算完全阅读这个问题,我将离开默认的缩放控件UI'开'。 – Sparda 2013-02-25 03:17:08

回答

3

这里有人用类似的问题就解决了这种方式,也许这会为你

var tblock = function (e) { 
if (e.touches.length > 1) { 
    e.preventDefault() 
} 

return false; 
} 

document.body.addEventListener("touchmove", tblock, true); 

Google Maps API v3 Disable Pinch to Zoom on iPad Safari

这里

How to disable pinch in Android MapView

+0

谢谢@Alejandro。实际上,我之前看过这个答案,但完全错过了'e.touches'属性。这解决了它。 – Sparda 2013-02-25 02:20:28

1

禁用 “touchmove” 既解决了工作因为谷歌地图有自己的想法。您的设备将允许您缩放(在某种程度上和不一致),直到您禁用Google Maps自己的可拖动选项,例如

mymap.setOptions({draggable: false}); 

至少在Android 4.4.2上是如此。