如何禁用Google Map的Satellite视图?

Jat*_*oot 82 google-maps google-maps-api-3

我正在使用Google Maps Javascript API V 3.

一切正常,但我想要使用SATELLITE按钮禁用出现在右上方区域的MAP按钮.

我怎样才能做到这一点?

提前致谢.

小智 116

var myOptions = {
    zoom: 2,
    center: **Your LatLng object**,
    mapTypeControlOptions: {
      mapTypeIds: [google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.HYBRID]
    }, // here´s the array of controls
    disableDefaultUI: true, // a way to quickly hide all controls
    mapTypeControl: true,
    scaleControl: true,
    zoomControl: true,
    zoomControlOptions: {
      style: google.maps.ZoomControlStyle.LARGE 
    },
    mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); // displays in <article id="map_canvas"></article>
//map.mapTypeControl = false; // OPTIONAL: hides the map control
Run Code Online (Sandbox Code Playgroud)


Kas*_*sth 59

启用地图并将选项传递给它时,您可以指定mapTypeControlOptions.它们有一个Array,用于指定允许用户查看的maptype类型.可在此处查看http://code.google.com/apis/maps/documentation/javascript/reference.html#MapTypeControlOptions.

如果您不希望用户拥有关于maptypes的任何选项,您还可以通过将map mapControl设置为false来指定.

  • 我不知道它是否是v3的东西,但是如果有人希望完全隐藏这个控件,那么将`mapTypeControl`设置为`false`是行不通的.相反,对我有用(在第3版中)是设置:`mapTypeControlOptions:{mapTypeIds:[]}` (20认同)
  • 将mapTypeControl设置为false肯定会消除控件但是如何自定义它以便mapTypeControl只包含SATELLITE和TERRAIN按钮? (2认同)

Pod*_*.io 32

禁用卫星选项:

mapTypeControl: false
Run Code Online (Sandbox Code Playgroud)

禁用街景.

streetViewControl: false
Run Code Online (Sandbox Code Playgroud)


web*_*hun 19

你可以通过CSS隐藏它们

.gm-style-mtc {
  display: none;
}
Run Code Online (Sandbox Code Playgroud)


Sur*_*hir 10

mapTypeControl和streetViewControl选项为false

 var map = new google.maps.Map(document.getElementById('map_canvas'), {
             center: new google.maps.LatLng(latitudeFirst, longitudeFirst),
             zoom: 12,
             streetViewControl: false,
             mapTypeControl: false
        });  
Run Code Online (Sandbox Code Playgroud)