当用户点击mapTypeControl
时,我需要处理与通过map.setMapTypeId()
设置时不同的情况。如何监听地图类型控件上的点击?
答案 0 :(得分:1)
您无法侦听默认UI控件集上的事件。但是,如果您严格关注区分mapTypeControl
和map.setMapTypeId()
上的点击次数,则可以使用控制可能调用setMapTypeId()
的代码并添加一些状态管理代码的事实: / p>
// First, add a new state var:
var typeIdChangedInCode = false;
// Then, anywhere in your code where you call setMapTypeId(), add this:
typeIdChangedInCode = true;
map.setMapTypeId( newTypeId );
// Finally, include state checking code in the map event listener:
google.maps.event.addListener( map, "maptypeid_changed", function( evnt ) {
if ( typeIdChangedInCode ) {
//handle the scenario in the non-click way, but REMEMBER TO:
typeIdChangedInCode = false;
}
else {
//handle the scenario in the map click way
}
});
这应该让你以你需要的方式处理两种不同的事件。
答案 1 :(得分:0)
google.maps.event.addListener(map, 'maptypeid_changed', function(e){
alert(map.getMapTypeId());
});