Случайное странное поведение на Google Maps v2 - PullRequest
1 голос
/ 19 мая 2010

У меня особый бой с Google Maps v2 на Chrome. Карта хорошо отображается во всех браузерах, кроме Chrome, и без особой причины она выполняет любые из следующих действий, которые вы можете видеть на изображении:

  • Перемещение центра на юг
  • Отображение маркеров справа, но если я переместу карту, они тоже переместятся в следующий раздел карты.
  • Совершенная

Google Maps и Chrome http://img692.imageshack.us/img692/4961/mapsmisterious.png

У меня есть следующий javascript:

if (GBrowserIsCompatible()) {
  var map = new GMap2(document.getElementById("map"));
  var bounds = new GLatLngBounds();
  map.enableScrollWheelZoom();
  map.addControl(new GSmallMapControl());
  map.addControl(new GMapTypeControl());
  map.removeMapType(G_HYBRID_MAP);
  var zoomout = 1;

  var pcenter_0 = new GLatLng(40.420300, -3.705770);
  var marker_0 = new GMarker(pcenter_0, {draggable: false});
  map.addOverlay(marker_0);
  marker_0.bindInfoWindowHtml('info', {pixelOffset:new GSize(32,5), maxWidth:200} );
  bounds.extend(marker_0.getPoint());

  var pcenter_1 = new GLatLng(41.385719, 2.170050);
  var marker_1 = new GMarker(pcenter_1, {draggable: false});
  map.addOverlay(marker_1);
  marker_1.bindInfoWindowHtml('', {pixelOffset:new GSize(32,5), maxWidth:200} );
  bounds.extend(marker_1.getPoint());

  var pcenter_2 = new GLatLng(48.856918, 2.341210);
  var marker_2 = new GMarker(pcenter_2, {draggable: false});
  map.addOverlay(marker_2);
  marker_2.bindInfoWindowHtml('info', {pixelOffset:new GSize(32,5), maxWidth:200} );
  bounds.extend(marker_2.getPoint());

  var pcenter_3 = new GLatLng(37.779160, -122.420052);
  var marker_3 = new GMarker(pcenter_3, {draggable: false});
  map.addOverlay(marker_3);
  marker_3.bindInfoWindowHtml('', {pixelOffset:new GSize(32,5), maxWidth:200} );
  bounds.extend(marker_3.getPoint());

  var pcenter_4 = new GLatLng(48.202541, 16.368799);
  var marker_4 = new GMarker(pcenter_4, {draggable: false});
  map.addOverlay(marker_4);
  marker_4.bindInfoWindowHtml('', {pixelOffset:new GSize(32,5), maxWidth:200} );
  bounds.extend(marker_4.getPoint());

  zoomToBounds(zoomout);
}

function zoomToBounds(zoomout) {
map.setCenter(bounds.getCenter());
var zoom = map.getBoundsZoomLevel(bounds)-zoomout;
if(zoom < 1) zoom = 1;
map.setZoom(zoom);
map.checkResizeAndCenter();
}

У вас есть идея или ключ к пониманию того, что может происходить? Очень неприятно иметь такие случайные ошибки JavaScript. Если вам нужна дополнительная информация, пожалуйста, спросите!

спасибо!

Обновление для добавления HTML-кода (до JavaScript)

<div id="index_map"> 
  <div id="map"></div> 
</div> 

Я также обновил код маркеров

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...