2013-02-25 83 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上是如此。