几天前,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;
};
之前一切都很好,我没有做任何改变。 使用新的Google Maps API代码会出错吗? 我找不到更新版本的markermanager。 这个脚本有没有替代品?
答案 0 :(得分:4)
您要么使用夜间/实验版本(v3.exp),v3还是旧版本?
如果是这样,地图API的版本可能已在您的页面下更改。 Google Maps API小组建议您在生产页面上对版本号进行硬编码并测试新版本,然后再使用它们。
答案 1 :(得分:1)
我遇到了同样的错误,为加载的事件添加了一个监听器为我做了这个:
var mgr = new MarkerManager(map)
google.maps.event.addListener(mgr, 'loaded', function(){
mgr.addMarkers(markers, 5,6)
});