Can*_*nam 5 javascript google-maps
我正在尝试将非常有用的LabeledMarker类转换为Google Maps API V3.我在我的V2地图中使用过它......但我想在V3地图中找到类似的东西.我读了迈克关于扩展GMarker 的文章.
我试图用google.maps.Marker做同样的事情,但我遇到了一些问题.
这是我非常简单的代码:
function LabeledMarker(opts) { // constructor
google.maps.Marker.apply(this, arguments);
}
LabeledMarker.prototype = new google.maps.Marker();
LabeledMarker.prototype.onAdd = function() {
alert('onAdd1');
google.maps.Marker.prototype.onAdd.apply(this, arguments);
alert('onAdd2');
}
LabeledMarker.prototype.draw = function() {
alert('draw1');
google.maps.Marker.prototype.draw.apply(this, arguments);
alert('draw2');
}
LabeledMarker.prototype.onRemove = function() {
alert('onRemove1');
google.maps.Marker.prototype.onRemove.apply(this, arguments);
alert('onRemove2');
}
Run Code Online (Sandbox Code Playgroud)
这是我如何称呼它:
var point = new google.maps.LatLng(37, -59);
var labeledMarker = new LabeledMarker({
map: map,
position: point,
labelText: 'Label'
});
Run Code Online (Sandbox Code Playgroud)
这是一个URL:http://www.canamgroup.ws/GM.nsf/Map2?OpenPage
我的标记显示在地图上(所以我假设我的构造函数成功调用了google.maps.Marker构造函数)但我的onAdd,draw和onRemove中的警报从未被触发(因此我假设我的方法没有成功调用google.maps.Marker方法).
这是Mike在V2中的方式(除了方法名称不同).我试过了:
google.maps.Marker.prototype.draw.apply(this, arguments);
google.maps.Marker.prototype.draw.apply(this);
google.maps.Marker.prototype.draw.call(this);
google.maps.Marker.prototype.draw.call(this, arguments);
Run Code Online (Sandbox Code Playgroud)
我刚开始编写OO Javascript代码,所以我可能会遗漏一些东西?或许我必须在V3中做一些不同的事情?有人可以帮忙吗?
谢谢!
| 归档时间: |
|
| 查看次数: |
4619 次 |
| 最近记录: |