我需要处理当用户点击的情况与mapTypeControl
设置时不同的情况map.setMapTypeId()
。如何收听地图类型控件的点击?
问问题
1284 次
2 回答
2
您无法侦听默认 UI 控件集上的事件。但是,如果您严格专注于区分mapTypeControl
and的点击map.setMapTypeId()
,您可以使用您控制可能调用的代码setMapTypeId()
并添加一些状态管理代码的事实:
// 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
}
});
这应该使您能够以您需要的方式处理两种不同的事件。
于 2012-04-30T18:02:16.313 回答
0
google.maps.event.addListener(map, 'maptypeid_changed', function(e){
alert(map.getMapTypeId());
});
于 2012-04-30T14:51:59.493 回答