[英]javascript google maps api - disable zooming
我正在尝试在调用fitbounds(确定正确的缩放级别)后禁用缩放。 我尝试设置最小和最大缩放值,但它不起作用。 这是我的代码:
var bounds = new google.maps.LatLngBounds(
//south, west
new google.maps.LatLng(minLat, minLon),
//north, east
new google.maps.LatLng(maxLat, maxLon)
);
map.fitBounds(bounds);
currentZoom = map.getZoom();
map.setOptions({maxZoom: currentZoom, minZoom: currentZoom});
为了清楚起见,我要禁用的是鼠标缩放。
谢谢
map.fitBounds
是异步的,您需要为zoom_changed
事件添加一个事件侦听器。
google.maps.event.addListenerOnce(map, 'zoom_changed', function () {
currentZoom = map.getZoom();
map.setOptions({
maxZoom: currentZoom,
minZoom: currentZoom
});
});
代码段:
var geocoder; var map; // Newark, NJ, USA (40.735657, -74.1723667) // Baltimore, MD, USA (39.2903848, -76.6121893) var maxLat = 40.735657; var maxLon = -74.1723667; var minLat = 39.2903848; var minLon = -76.6121893; function initialize() { var map = new google.maps.Map( document.getElementById("map_canvas"), { center: new google.maps.LatLng(37.4419, -122.1419), zoom: 13, mapTypeId: google.maps.MapTypeId.ROADMAP }); var bounds = new google.maps.LatLngBounds( //south, west new google.maps.LatLng(minLat, minLon), //north, east new google.maps.LatLng(maxLat, maxLon)); map.fitBounds(bounds); google.maps.event.addListenerOnce(map, 'zoom_changed', function() { currentZoom = map.getZoom(); map.setOptions({ maxZoom: currentZoom, minZoom: currentZoom }); }); } google.maps.event.addDomListener(window, "load", initialize);
html, body, #map_canvas { height: 100%; width: 100%; margin: 0px; padding: 0px }
<script src="https://maps.googleapis.com/maps/api/js"></script> <div id="map_canvas" style="border: 2px solid #3872ac;"></div>
只需检查文档即可 。
禁用滚轮,按钮和双击缩放:
map.setOptions({zoomControl: false, scrollwheel: false, disableDoubleClickZoom: true});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.