1

几天前,markermanager 停止使用谷歌地图正常工作。我在控制台视图中没有错误。

它打破了在线:

var div = this.getProjection().fromLatLngToDivPixel(latlng)

这是整个方法:

ProjectionHelperOverlay.prototype.LatLngToPixel = function (latlng, zoom) {
alert('p1');//displays alert
var map = this._map;//object
alert('p2');//displays alert
alert(latlng);//displays object
var div = this.getProjection().fromLatLngToDivPixel(latlng);
alert('p3');//NO ALERT and NO error in console
var abs = {x: ~~(0.5 + this.LngToX_(latlng.lng()) * (2 << (zoom + 6))), y: ~~(0.5 + this.LatToY_(latlng.lat()) * (2 << (zoom + 6)))};
alert('p4');//never gets to that line
return abs;
};

之前一切都很好,我没有做任何改变。新的谷歌地图 API 代码会出错吗?我找不到更新版本的markermanager。这个脚本有替代品吗?

4

2 回答 2

4

您使用的是夜间/实验版本 (v3.exp)、v3 还是旧版本?

版本控制

如果是这样,您页面下方的地图 API 版本可能已更改。Google Maps API 团队建议您在生产页面上对版本号进行硬编码,并在使用新版本之前对其进行测试。

于 2012-11-21T12:30:39.797 回答
1

我遇到了同样的错误,为加载的事件添加了一个监听器为我做了:

 var mgr = new MarkerManager(map)
 google.maps.event.addListener(mgr, 'loaded', function(){
    mgr.addMarkers(markers, 5,6)
  });   
于 2013-07-30T08:08:57.483 回答