Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
579 views
in Technique[技术] by (71.8m points)

javascript - Disabling pinch-zoom on google maps [Desktop]

I have a website which uses Google Maps API v3 and i couldn't get the pinch-zoom property to work properly. Instead of a Pinch-to-Zoom-In, the gesture always performs a Zoom-Out.

This is a PC monitor with Touch capability. So, as i was unable to get it work properly, i decided to disable the feature.

I cancelled the touch event using below

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

This has an unwanted side-effect. This code cancels the entire touch events and hence user cannot use the Google Maps default Zoom control. I tried changing the 'ontouchstart' to a 'ontouchmove' event but this is not preventing the map from zooming out.

Any ideas on how to disable the feature or may be how to fix the pinch-to-zoomIn feature? I can post the website url but its just a plain google map and you will not notice the issue unless if you a have touch enabled monitor.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Here someone with a similar problem solved it this way, maybe it will work for you

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

And here

How to disable pinch in Android MapView


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...