Я добавляю коллекцию маркеров на карту в API v3. Все работает нормально, но когда я перетаскиваю карту (достаточно, чтобы маркеры были за пределами экрана), увеличивал масштаб, а затем перетаскивал карту обратно в исходный центр, изображения маркеров смещались примерно на расстояние, на которое я перетаскивал карту. Они все еще расположены в правильной форме, только что переехали.
Несколько других заметок:
- Изображения маркеров не перемещаются, если я перетаскиваю и не увеличиваю масштаб или если я перетаскиваю и уменьшаю масштаб.
- Если я просто увеличиваю карту, пока маркеры не исчезают с экрана, происходит то же самое
- Полилинии не перемещаются (т.е. они сохраняют свое правильное положение, несмотря ни на что)
- В Firefox изображения маркеров перемещаются (или, скорее, остаются в том же положении пикселя и не перемещаются с точкой координат на карте) всякий раз, когда я увеличиваю точку, отличную от центра карты
Вот код, который я использую маркеры добавления:
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.