【问题标题】:How to disable Google Map's Satellite view?如何禁用谷歌地图卫星视图?
【发布时间】:2011-08-24 00:39:23
【问题描述】:

我正在开发 Google Maps Javascript API V 3。

一切正常,但我想禁用显示在右上角的 MAP 按钮和 SATELLITE 按钮。

我该怎么做?

【问题讨论】:

    标签: google-maps google-maps-api-3


    【解决方案1】:
    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
    

    【讨论】:

      【解决方案2】:

      当您启用地图并将选项传递给它时,您有机会指定 mapTypeControlOptions。它们有一个数组,指定您将允许用户查看的地图类型。可以在这里看到http://code.google.com/apis/maps/documentation/javascript/reference.html#MapTypeControlOptions。

      如果您不希望用户对地图类型有任何选项,您也可以通过将地图 mapTypeControl 设置为 false 来指定。

      【讨论】:

      • 将 mapTypeControl 设置为 false 肯定会导致控件消失,但如何自定义它以使 mapTypeControl 仅包含 SATELLITE 和 TERRAIN 按钮?
      • 这就是 mapTypeControlOptions 应该做的事情。它包含一个数组,您可以在其中指定 SATELLITE 和 TERRAIN 是用户应该看到的选项。
      • 我不知道这是否是 v3 的东西,但如果有人希望完全隐藏此控件,将 mapTypeControl 设置为 false 不起作用。相反,对我有用的(在 v3 中)是设置:mapTypeControlOptions: { mapTypeIds: [] }
      【解决方案3】:

      禁用卫星选项:

      mapTypeControl: false
      

      禁用街景。

      streetViewControl: false
      

      【讨论】:

        【解决方案4】:

        您可以通过 css 隐藏它们

        .gm-style-mtc {
          display: none;
        }
        

        【讨论】:

        • 这不是未来的证据。最好使用mapTypeControlOptions
        • 这不是解决方案
        【解决方案5】:

        ma​​pTypeControl 和 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
                });  
        

        【讨论】:

          【解决方案6】:

          我有同样的问题。设置mapTypeControl: false 并传递其他选项对我有用。您可以查看规范here。

          【讨论】:

            【解决方案7】:

            您可以通过两种方式实现这一目标:

            1. JS

              streetViewControl: false,
              
            2. CSS

              .gm-style-mtc {
                display: none;
              }
              

            【讨论】:

              猜你喜欢
              • 2010-11-29
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-12-30
              • 2012-05-11
              • 2018-08-31
              • 1970-01-01
              相关资源
              最近更新 更多