我想知道你是否可以改变混合maptype的功能,就像你可以在styledmaptype上做的那样。我问这个是因为我想展示卫星地图(或改变混合地图)只有国家边界,没有道路城市名等。
提前致谢!
答案 0 :(得分:2)
您可能会观察到地图的 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
时,应用相同的样式,但将两个可见性样式设置为
最后看起来像这样:
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');