我正在使用gmaps4rails,我想继续使用自动缩放功能,但是如果我只有一个标记我想要更改缩放,因为默认的是最大缩放。
阅读related question后,我将此代码添加到我的javascript文件中:
$(function() {
//to address the problem with the zoom being set to maximum when there's only one marker
Gmaps.map.callback = function() {
console.log("in callback");
if (Gmaps.map.markers.length == 1) {
console.log("only one marker");
//only one marker, choose the zoom level you expect
Gmaps.map.map.setZoom(12);
}
else{
//more than one marker, let's auto_zoom
console.log("more markers");
Gmaps.map.map_options.auto_zoom = true;
Gmaps.map.adjustMapToBounds();
}
}
});
当我阅读控制台输出(Safari的Web Inspector)时,我得到"in callback"
和"only one marker"
,但地图不会缩放。另一方面,当我手动在控制台中输入Gmaps.map.map.setZoom(12)
时,它会缩小..
是否可能会在此之后调用其他一些回调?或者我应该将此代码放在其他地方吗?