我想知道您是否可以像在 styledmaptype 上那样更改混合地图类型的功能。我问这个是因为我想显示只有国家边界的卫星地图(或更改的混合地图),没有道路城市名称等。
提前致谢!
我想知道您是否可以像在 styledmaptype 上那样更改混合地图类型的功能。我问这个是因为我想显示只有国家边界的卫星地图(或更改的混合地图),没有道路城市名称等。
提前致谢!
您可以观察到地图的maptypeid_changed事件。
使用 getMapTypeId() 检查当前的 mapTypeId,如果等于,则google.maps.MapTypeId.HYBRID
使用以下样式将以下样式应用于地图map.setOptions()
{
featureType: "all",
elementType: "labels",//hides all labels
stylers: [
{ visibility:'off' }
]
},
{
featureType: "road",//hides the roads
stylers: [
{ visibility:'off' }
]
}
当 mapTypeId 不google.maps.MapTypeId.HYBRID
应用相同的样式时,但将两个可见性样式设置为on
最后它可能看起来像这样:
google.maps.event.addListener(map, 'maptypeid_changed', function() {
var onoff=(this.getMapTypeId()==google.maps.MapTypeId.HYBRID)
?'off'
:'on';
this.setOptions(
{
styles:[{
featureType: "all",
elementType: "labels",
stylers: [{ visibility:onoff }]
},
{
featureType: "road",
stylers: [{ visibility:onoff}]}
]
}
);
});
google.maps.event.trigger(map,'maptypeid_changed');