[英]Limit scroll wheel zoom level on Google Maps
I have the following code that should limit the zooming within my map. 我有以下代码应限制地图中的缩放。 The Zoom is limited when I manually click the zoom in and zoom out buttons (plus and minus) of the map controls.
当我手动单击地图控件的放大和缩小按钮(加号和减号)时,缩放受到限制。 This is somehow not happening when I'm using a scroll-wheel to zoom.
当我使用滚轮进行缩放时,这不会以某种方式发生。 How can I limit the zoom level that my scroll-wheel is applying?
如何限制滚轮应用的缩放级别? I don't want to deactivate the zoom via scroll-wheel.
我不想通过滚轮禁用缩放。
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 12,
center: {lat: 52.520008, lng: 13.404954},
});
var old_zoom_level = 12;
map.data.loadGeoJson('data/1000_berlin_buildings.json');
//map.data.loadGeoJson('google.json');
map.data.setStyle(styleFeature);
map.data.addListener('mouseover', mouseInToRegion);
map.data.addListener('mouseout', mouseOutOfRegion);
map.addListener('bounds_changed', function(){
//console.log("bounds changed");
});
google.maps.event.addListener(map, 'zoom_changed', function () {
// if (map.getZoom() < 9) map.setZoom(9);
var new_zoom_level = map.getZoom();
console.log("zoom Changed from "+ old_zoom_level +" to "+new_zoom_level);
if (new_zoom_level < __min_zoom_level) {
new_zoom_level = __min_zoom_level;
map.setZoom(__min_zoom_level);
}
if (new_zoom_level > __max_zoom_level) {
new_zoom_level = __max_zoom_level;
map.setZoom(__max_zoom_level);
}
old_zoom_level = new_zoom_level;
});
}
You can do that in a much easier way, by using the map minZoom
and maxZoom
properties. 通过使用地图的
minZoom
和maxZoom
属性,您可以以更简单的方式进行操作。
var map = new google.maps.Map(document.getElementById('map-canvas'), {
zoom: 12,
center: {lat: 52.520008, lng: 13.404954},
minZoom: 10,
maxZoom: 14
});
If you need these values to change at any point, simply use the map setOptions()
method: 如果您需要随时更改这些值,只需使用map
setOptions()
方法:
map.setOptions({
minZoom: 8,
maxZoom: 15
});
Working snippet: 工作片段:
var map; function initialize() { var map = new google.maps.Map(document.getElementById('map-canvas'), { zoom: 12, center: { lat: 52.520008, lng: 13.404954 }, minZoom: 10, maxZoom: 14, }); google.maps.event.addDomListener(document.getElementById('btn'), 'click', function() { map.setOptions({ minZoom: 5, maxZoom: 15 }); }) } initialize();
#map-canvas { height: 150px; } #btn { margin-top: 10px; line-height: 30px; background: yellow; cursor: pointer; }
<div id="map-canvas"></div> <button id="btn">Change limits to min: 5 and max: 15</button> <script src="https://maps.googleapis.com/maps/api/js"></script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.