【问题标题】:How to fire dragend event of a marker in google maps v3?如何在谷歌地图 v3 中触发标记的 dragend 事件?
【发布时间】:2011-03-08 13:59:08
【问题描述】:

我想在另一个事件中触发标记的 dragend 事件,比如地图上的点击事件。我该怎么做?

google.maps.event.addListener(map,'click',function(pt){ posSelectMarker.setPosition(pt.latLng); //这里我想触发dragend事件。 });

【问题讨论】:

    标签: events google-maps marker


    【解决方案1】:

    如果你有marker对象,你可以直接调用addListener添加dragend事件。

    var marker = new google.maps.Marker({
        ...
    )};
    
    marker.addListener('dragend', function() {
        // do something
    });
    

    【讨论】:

      【解决方案2】:

      这有点完整:

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

      请注意,您可以使用事件参数获取对象

      【讨论】:

      • 这不是答案。您添加侦听器而不是执行它
      【解决方案3】:

      应该是:

      google.maps.event.addListener
      

      代替:

      google.maps.event.trigger
      

      快速示例:

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

      【讨论】:

      • 触发意味着手动触发事件。 addListener 用于监听事件。
      【解决方案4】:

      使用event.trigger

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

      【讨论】:

      • 为什么?事件回调需要知道哪个标记!
      猜你喜欢
      • 2014-01-09
      • 1970-01-01
      • 2011-01-03
      • 2015-02-06
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多