禁用捏和缩放使用JavaScript的谷歌地图?

我在我的一个项目中使用谷歌地图,但我不想在地图中缩放影响,所以我通过禁用它

zoomControl: false, 

然而,这只适用于台式机和笔记本电脑,因为他们不支持多点触摸。

当我在支持多点触控的设备(如平板电脑或智能手机)中查看我的地图时,可以使用捏放大设备进行放大。

我尝试了map2.getUiSettings().setZoomControlsEnabled(false); 这对它没有任何影响,我仍然可以捏和放大!

我也试过map.getUiSettings().setZoomControlsEnabled(false); 看看是否有任何不同,但它不!

有人可以请build议在这个问题上?

这是我的完整代码:

  <script> function showCurrentLocation(position) { var latitude = <?php echo $curLat; ?>; var longitude = <?php echo $curLon; ?>; var coords2 = new google.maps.LatLng(latitude, longitude); var mapOptions2 = { zoom: 10, center: coords2, mapTypeControl: false, streetViewControl: false, panControl: false, zoomControl: false, scrollwheel: false, navigationControl: false, mapTypeControl: false, scaleControl: false, draggable: true, mapTypeId: google.maps.MapTypeId.ROADMAP }; //create the map, and place it in the HTML map div map2 = new google.maps.Map( document.getElementById("mapPlaceholder"), mapOptions2); //place the initial marker var marker2 = new google.maps.Marker({ position: coords2, map: map2, title2: "Current location!" }); } google.maps.event.addDomListener(window,'load',showCurrentLocation); map2.getUiSettings().setZoomControlsEnabled(false); </script> 

任何帮助,将不胜感激。

你可能想尝试:

 var tblock = function (e) { if (e.touches.length > 1) { e.preventDefault() } return false; } document.body.addEventListener("touchmove", tblock, true); 

有关:

禁用谷歌地图上的捏缩放[桌面]

Google Maps API v3在iPad Safari中禁用缩放function

编辑(在Android 4.4.2上的工作示例):

 <!DOCTYPE html> <html> <head> <style type="text/css"> html, body, #mapPlaceholder { height: 100%; margin: 0; padding: 0; } </style> <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script> <script type="text/javascript"> var map2; function initialize() { var coords2 = new google.maps.LatLng(38.8, -77); var mapOptions2 = { zoom: 10, center: coords2, mapTypeControl: false, streetViewControl: false, panControl: false, zoomControl: false, scrollwheel: false, navigationControl: false, mapTypeControl: false, scaleControl: false, draggable: true, mapTypeId: google.maps.MapTypeId.ROADMAP }; //create the map, and place it in the HTML map div map2 = new google.maps.Map(document.getElementById("mapPlaceholder"), mapOptions2); //place the initial marker var marker2 = new google.maps.Marker({ position: coords2, map: map2, title: "Current location!" }); var tblock = function (e) { if (e.touches.length > 1) { e.preventDefault() } return false; } document.body.addEventListener("touchmove", tblock, true); } google.maps.event.addDomListener(window, 'load', initialize); </script> </head> <body> <div id="mapPlaceholder"></div> </body> </html>