【问题标题】:How i add an addListener to GOOGLE MAPS to get MapType V3我如何将 addListener 添加到 GOOGLE MAPS 以获取 MapType V3
【发布时间】:2014-05-12 20:19:05
【问题描述】:

我如何将 addListener 添加到 GOOGLE MAPS 以获取 MapType V3

我用

google.maps.event.addListener(map, "maptypechanged", function() {
    var newMapType = map.getCurrentMapType();
    alert(newMapType);
});

不要惊慌

【问题讨论】:

    标签: javascript api google-maps


    【解决方案1】:

    假设我理解正确,我认为您要查找的事件实际上称为maptypeid_changed,而您要查找的Map 类的方法是getMapTypeId,它返回一个实例MapTypeId:

    google.maps.event.addListener(map, "maptypeid_changed", function() {
        var newMapType = map.getMapTypeId();
        alert(newMapType);
    });
    

    maptypeid_changed的文档:

    当 mapTypeId 属性时触发此事件 变化。

    maptypechanged 事件和getCurrentMapType 方法均来自版本 2 API,已正式弃用。

    【讨论】:

      【解决方案2】:

      你的事件是错误的!应该是这样的

      google.maps.event.addListener(map, "maptypeid_changed", function() {
          var newMapType = map.getMapTypeId();
          alert(newMapType);
      });
      

      【讨论】:

        【解决方案3】:

        我不是谷歌地图专家,但乍一看,您似乎没有听到有效的事件。由于(至少通过阅读您的代码看起来)您正在传递一个 Map 对象,因此您应该坚持有效的 Map 事件。这里(见事件表)没有“maptypechanged”事件:

        http://code.google.com/intl/it-IT/apis/maps/documentation/javascript/reference.html#Map

        也许您想要“maptypeid_changed”事件?

        无论如何,addEventListener 方法的第一个参数是触发事件的对象。因此,作为第二个参数,您传递了一个仅由该对象触发的事件。不过,始终找到关于您作为第一个 arg 传递的对象的文档(在本例中为 Map,但可能是例如 Marker 对象等),并查看它触发的确切事件是什么。

        【讨论】:

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