我正在为v3 api中的地图添加一组标记。一切正常,但是当我拖动地图(足以使标记离开屏幕),放大,然后将地图拖回原始中心时,标记图像大致偏移我拖动地图的距离。它们仍然以正确的形状排列,只是移动了。
其他几点说明:
以下是我正在使用添加标记的代码:
var bounds = new google.maps.LatLngBounds;
for (i=0, len=points.length; i<len; i++) {
var myPoint = points[i];
var myLatLng = new google.maps.LatLng(myPoint.lat, myPoint.lng);
var markerImage = new google.maps.MarkerImage(
'http://www.mysite.com/images/marker.png',
new google.maps.Size(21,21), // size
new google.maps.Point(0,0), // origin
new google.maps.Point(10,10), // anchor
new google.maps.Size(21,21) // scale
);
var markerOptions = {};
markerOptions.map = this.map;
markerOptions.position = myLatLng;
markerOptions.icon = markerImage;
markerOptions.draggable = true;
this.markers[i] = new google.maps.Marker(markerOptions);
bounds.extend(myLatLng);
}
就像标记的窗格与地图和折线的窗格断开连接一样。添加标记时是否可以采用不同的方式使图像保持正确的显示位置?这在V2中不是问题。
答案 0 :(得分:0)
我被解雇了。
在示例中的代码块之后,我有
if (init) {
//a bunch of stuff, PLUS
this.map.fitBounds(bounds);
} else {
//a bunch of other stuff, BUT NO fitBounds
}
所以,添加
this.map.fitBounds(bounds);
两个逻辑路径中的解决了问题