Google maps api 3 是否可以将混合映射类型更改为StyledMapType?

Google maps api 3 是否可以将混合映射类型更改为StyledMapType?,google-maps-api-3,google-maps-styled,Google Maps Api 3,Google Maps Styled,我想知道您是否可以像在styledmaptype上一样更改混合映射类型的功能。我问这个问题是因为我想显示卫星地图(或更改的混合地图),只有国家边界,没有道路,城市名称等 提前谢谢 您可以观察到地图的事件maptypeid\u更改 使用getMapTypeId()检查当前mapTypeId,如果它等于google.maps.mapTypeId.HYBRID则使用map.setOptions() 当mapTypeId不是google.maps.mapTypeId.HYBRID时应用相同的样式,但将两

我想知道您是否可以像在styledmaptype上一样更改混合映射类型的功能。我问这个问题是因为我想显示卫星地图(或更改的混合地图),只有国家边界,没有道路,城市名称等


提前谢谢

您可以观察到地图的事件maptypeid\u更改

使用getMapTypeId()检查当前mapTypeId,如果它等于
google.maps.mapTypeId.HYBRID
则使用
map.setOptions()

当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');
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');