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

时间:2012-01-16 09:31:15

标签: javascript api google-maps

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

我用

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

不要提醒

3 个答案:

答案 0 :(得分:4)

假设我已经理解正确,我认为您正在寻找的事件实际上称为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,已被正式弃用。

答案 1 :(得分:0)

您的活动有误!它应该是这样的

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

答案 2 :(得分:0)

我不是谷歌地图专家,但乍一看,似乎你没有听到有效的事件。因为(至少通过阅读你的代码)你传递的是Map对象,所以你应该坚持使用有效的Map事件。这里(参见事件表)没有'maptypechanged'事件:

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

也许您想要'maptypeid_changed'事件?

无论如何,addEventListener方法的第一个参数是触发事件的对象。因此,作为第二个参数,您传递一个仅由THAT对象触发的事件。虽然,总是找到关于你传递的对象的文档作为第一个arg(在本例中是Map,但可以是例如Marker对象等等)并查看它触发的确切事件。