我正面临着google.maps.Markera的原型对象的奇怪问题。
...
function WMarker(config) {
var cc = {
position: new google.maps.LatLng(...),
map: map,
};
google.maps.Marker.call(this, cc);
}
WMarker.prototype = new google.maps.Marker();
WMarker.constructor = WMarker;
var m1 = new WMarker({...});
var m2 = new WMarker({...});
...
尽管位置不同,仍会以仅显示一个(最新)标记结束。 你有任何提示,在哪里寻找解决这个问题的方法吗?
我检查了什么:
链接到完整示例:http://pastebin.com/hSSCyRcP - 如果它以超时运行,它将仅删除第一个标记
非常感谢,
答案 0 :(得分:0)
在我发现的所有论坛中挖掘后,这是一个错误。
从这个链接: https://code.google.com/p/gmaps-api-issues/issues/detail?id=6447#c16
解决此问题的解决方案是: ....
WMarker.prototype = new google.maps.Marker();
WMarker.constructor = WMarker;
function inherits(childCtor, parentCtor) {
/ @constructor */
function tempCtor() {};
tempCtor.prototype = parentCtor.prototype;
childCtor.superClass_ = parentCtor.prototype;
childCtor.prototype = new tempCtor();
/ @override */
childCtor.prototype.constructor = childCtor;
}
inherits(WMarker, google.maps.Marker);