全部,
我是Google Map API的新手。我想在Google地图上显示一些图片。我想使用GroundOverlay
,因为以后在我的工作中更容易实现动画效果。
问题是图像会在“世界瓷砖”之间水平跳跃。特别是当我拖动地图交叉-180度和180度。只有部分屏幕显示图像,这很烦人。这是一个截图:
有人知道如何防止这种情况吗?其实我想复制行为: http://forevermore.net/articles/photo-zoom/
我想如果我可以限制地图的左右边界,那么图像就不会水平扭曲。但上面显示的示例基于tile
重叠而不是GroudOverlay
。使用GroundOverlay
实现行为的任何想法?
答案 0 :(得分:0)
你可以试试这个:
google.maps.event.addListener(map,'center_changed',function() { checkBounds(); });
var allowedBounds = new google.maps.LatLngBounds(
new google.maps.LatLng( , ), //add your lat/long
new google.maps.LatLng( , ) //add your lat/long
);
function checkBounds() {
if(! allowedBounds.contains(map.getCenter())) {
var C = map.getCenter();
var X = C.lng();
var Y = C.lat();
var maxX = allowedBounds.getNorthEast().lng();
var maxY = allowedBounds.getNorthEast().lat();
var minX = allowedBounds.getSouthWest().lng();
var minY = allowedBounds.getSouthWest().lat();
if (X < minX) {X = minX;}
if (X > maxX) {X = maxX;}
if (Y < minY) {Y = minY;}
if (Y > maxY) {Y = maxY;}
map.setCenter(new google.maps.LatLng(Y,X));
}
}