我希望我的地图最初从边界确定的缩放中缩小-1。 如果我执行以下操作,它只是放大/缩小,但我想将缩放级别“设置得更大”。
map.fitBounds(bounds);
由于众所周知的原因,我之后无法使用map.setZoom。
是否有一些简单的方法可以做到这一点?
答案 0 :(得分:1)
最好的办法是为地图idle
事件创建一个事件监听器。一旦fitbounds
完成了它的事情,就会触发空闲事件。
如果您需要在每次适合边界时执行此操作,请创建自定义fitbounds方法
var fitBounds = function(map, bounds) {
google.maps.event.addListenerOnce(map, 'idle', function() {
this.setZoom(this.getZoom() - 1);
});
map.fitBounds(bounds);
}
请注意,我们使用的是addListenerOnce
方法,而不是普通的addListener
。
此方法存在的问题是,在地图缩小之前,您仍会看到为瞬间设置的初始边界。
答案 1 :(得分:0)
您可以在zoom_changed
上使用事件监听器:
google.maps.event.addListenerOnce(map, 'zoom_changed', function() {
var zoomLevel = map.getZoom();
map.setZoom(zoomLevel-1);
});