【问题标题】:Google maps API convert from V2 to V3Google 地图 API 从 V2 转换为 V3
【发布时间】:2013-04-25 15:02:41
【问题描述】:

我想将以下 2 个谷歌地图 V2 API 事件转换为 V3,但我一生都无法弄清楚如何去做,有人可以给我一些指示吗?

    GEvent.addListener(map, "click", function(overlay, point){
    if (point != null) {
      window.status = "Click " + point.lat() + ", "+ point.lng();
    } 
          else if (overlay != null) 
        {
      window.status = "Overlay " + lastPoint.lat() + ", "+ lastPoint.lng();
    }
});
GEvent.addListener(map, "mousemove", function(point){
 lastPoint = point;
});

【问题讨论】:

  • 您的问题究竟是什么
  • 我找不到地图的等价物,“点击”,功能(覆盖,点)
  • 请注意标签是独立的。用 googlemapsapi 标记这个问题并不意味着您在谈论 Google Maps API for Javascript。

标签: javascript google-maps google-maps-api-3 google-maps-api-2


【解决方案1】:

试试这个:

google.maps.event.addListener(map, 'click', function(event) {
  console.log(event.latLng);
});

“在 v3 事件监听器中不存在覆盖参数。如果您在 v3 地图上注册点击事件,则回调只会在用户点击基本地图时发生。您可以在可点击覆盖上注册额外的回调,如果您需要对这些点击做出反应。" - https://developers.google.com/maps/articles/v2tov3#events

【讨论】:

    【解决方案2】:

    如果您需要点击覆盖并让覆盖可点击,请从覆盖传播点击:

    var map = new google.maps.Map(document.getElementById("mapcanvas"), mapOptions);
    
    google.maps.event.addListener(map, 'click', function(event) {
        console.log(event.latLng);
    });
    
    google.maps.event.addListener(overlay, 'click', function(event) {
        google.maps.event.trigger(map, 'click', event);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-25
      相关资源
      最近更新 更多