我将here所述的修补程序应用于richmarker.js
一旦我使用
Uncaught TypeError: Cannot read property 'Person' of undefined
我需要的是在onclick函数中获得my_rich_marker.addListener('click', function(event) {
console.log(event); //undefined
}
richmarker,就像使用常规标记一样。
答案 0 :(得分:0)
传递给RichMarker的“click”事件的事件参数是来自浏览器的本机点击事件的参数,该事件没有.latLng
属性。
var that = this;
google.maps.event.addDomListener(this.markerContent_, 'click', function(e) {
google.maps.event.trigger(that, 'click', e);
});
您有两种选择:
修改RichMarker库,将latLng属性添加到返回的事件中。
从浏览器的本机点击事件中可用的属性计算关联的latLng。
将返回事件的latLng属性设置为this.getPosition()
(基于Dr.Molle的回答):
google.maps.event.addListener(my_rich_marker, 'click', function(event) {
event.latLng = this.getPosition();
console.log(event.latLng.toUrlValue());
}
答案 1 :(得分:0)
如果你真的想要它 就像使用常规标记一样 :
当您点击常规标记时,该事件的latLng
- 属性等于标记的position
。
所以你要做的就是检索RichMarker的position
:
google.maps.event.addListener(my_rich_marker,'click',function(e){
console.log(this.getPosition());
});