如何在Google Maps v3中触发标记的dragend事件?

5

我想在地图上的点击事件中触发标记的拖动结束事件(dragend event)。怎样实现?

google.maps.event.addListener(map,'click',function(pt){
   posSelectMarker.setPosition(pt.latLng);
   //在这里触发标记的拖动结束事件。
});
4个回答

9

使用event.trigger方法;

google.maps.event.trigger(markerObject, 'dragend', args);

为什么?事件回调需要“知道”哪个标记! - TheDeadMedic

9

这是更加完整的内容:

theListener = google.maps.event.addListener(posSelectMarker,'dragend',function(event){
    console.log(event.latLng);
});

请注意,您可以通过事件参数访问对象。

1
你需要添加监听器而不是执行它。 - Vasilii Suricov

1
如果您拥有标记对象,您可以直接调用addListener来添加dragend事件。
var marker = new google.maps.Marker({
    ...
)};

marker.addListener('dragend', function() {
    // do something
});

1

应该是:

google.maps.event.addListener

而不是:

google.maps.event.trigger

快速示例:

google.maps.event.addListener(marker_var_name, 'dragend', function(){
    alert('drag ended')
});

5
触发意味着手动触发事件。addListener用于监听事件。 - Morteza Milani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接