Ric*_*tta 1 javascript google-maps google-maps-api-3
使用谷歌地图v3 javascript API我无法找到阻止地图在北极或南极下平移的方法.作为示例,此页面上的嵌入式地图:https: //developers.google.com/maps/documentation/embed/guide 具有相同的行为,使用世界视图缩小并向北平移将视图置于完整的灰色区域.
如何在官方网站http://maps.google.it上进行预防?
Ric*_*tta 15
更新 - 以下答案不再适用,我想这是因为谷歌地图API已经升级.我把代码留在这里供参考.
感谢geocodezip的评论,我修改了Mike Williams的解决方案.
这是小提琴的例子
相关代码部分:
google.maps.event.addListener(map, 'center_changed', function() {
checkBounds(map);
});
// If the map position is out of range, move it back
function checkBounds(map) {
var latNorth = map.getBounds().getNorthEast().lat();
var latSouth = map.getBounds().getSouthWest().lat();
var newLat;
if(latNorth<85 && latSouth>-85) /* in both side -> it's ok */
return;
else {
if(latNorth>85 && latSouth<-85) /* out both side -> it's ok */
return;
else {
if(latNorth>85)
newLat = map.getCenter().lat() - (latNorth-85); /* too north, centering */
if(latSouth<-85)
newLat = map.getCenter().lat() - (latSouth+85); /* too south, centering */
}
}
if(newLat) {
var newCenter= new google.maps.LatLng( newLat ,map.getCenter().lng() );
map.setCenter(newCenter);
}
}
Run Code Online (Sandbox Code Playgroud)