是否可以以2为增量放大并以3为增量缩小?基本上,我试图跳过某个缩放级别。示例:http://jsfiddle.net/j1sr3zho/
我正在尝试检测放大和缩小事件的时间,以便我可以达到我想要的效果,但是我收到Uncaught RangeError: Maximum call stack size exceeded
错误。
google.maps.event.addListener(map, 'zoom_changed', function () {
if (map.getZoom() > zoom) {
map.setZoom(map.getZoom() + 2);
console.log("zoomed in");
} else if (map.getZoom() < zoom) {
map.setZoom(map.getZoom() - 3);
console.log("zoomed out");
});
如果可能,我也需要它来处理移动版Google地图。
答案 0 :(得分:2)
这里的问题是,即使您在地图上设置了缩放,也会触发zoom_changed
侦听器。您应该尝试检测zoom_changed是否由鼠标事件触发,或者设置标志以防止递归。
查看this updated jsfiddle,通过设置标志来阻止递归:
{
if (flag){
flag=false;
//zoom logic
map.setZoom(newZoomLevel);
}
flag=true;
}