目前我们正在使用google map v3,在我们升级firefox 26.0后,无法加载标记 我设置了很多警报,并在Chrome和firefox 26.0之间进行了比较,我发现这里有一个变量this.ready_在firefox 26.0中无法赋值(true),也就是说这个方法不能在下面调用
MarkerClusterer.prototype.onAdd = function() {
alert("enter MarkerClusterer.prototype.onAdd!");
this.setReady_(true);
};
MarkerClusterer.prototype.setReady_ = function(ready) {
alert("enter setReady!");
if (!this.ready_) {
this.ready_ = ready;
alert("will enter createClusters_() in setReady_");
this.createClusters_();
}
};
我试图找到在哪里调用onAdd来查明问题,然而,它是由google本身调用的,这里是堆栈调用
MarkerClusterer.onAdd MarkerClusterer.js:225
mG VM148:1
anonymous function %7Bmain,places%7D.js:11
提前谢谢! 杰森
答案 0 :(得分:0)
我已经解决了这个问题,问题来自MarkerClusterer.js,有人评论下面这两行引出了这个问题(只是评论一下就可以了),希望它对其他人也有帮助。 在MarkerClusterer.js中 MarkerClusterer.prototype.setupStyles_ = function(){ if(this.styles_.length){ 返回; } // for(var i = 0,size; size = this.sizes [i]; i ++){ this.styles_.push({ url:this.imagePath_ +'。' + this.imageExtension_, 身高:36, 宽度:43 //}); }