0

カスタム スタイルを使用して、Google マップのレイアウトを簡素化しようとしています。回避できない問題の 1 つは、建物の内部が表示されていることです。たとえば、ニューヨークのタイム ワーナー ビル:

タイム ワーナー ビル、コロンバス サークル、ニューヨーク、NY

この例の簡略化されたマップを生成するコードは次のとおりです。

 <!DOCTYPE html>
 <html>
   <head>
     <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
     <meta charset="utf-8">
     <style>
       html, body, #map_canvas {
         margin: 0;
         padding: 0;
         height: 100%;
       }
     </style>
     <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
     <script>
       var map;
       function initialize() {
         var mapOptions = {
           zoom: 18,
           center: new google.maps.LatLng(40.7681, -73.9819),
      mapTypeId: google.maps.MapTypeId.ROADMAP
         };


         map = new google.maps.Map(document.getElementById('map_canvas'),
             mapOptions);

 var styles = [
   {
     "featureType": "poi",
     "stylers": [
       { "visibility": "off" }
     ]
   },{
     "featureType": "landscape",
     "stylers": [
       { "visibility": "off" }
     ]
   },{
     "featureType": "transit",
     "stylers": [
       { "visibility": "off" }
     ]
   }
 ]
 ;

 map.setOptions({styles: styles});

       }

       google.maps.event.addDomListener(window, 'load', initialize);
     </script>
   </head>
   <body>
     <div id="map_canvas"></div>
   </body>
 </html>

「すべて」の機能の可視性を変えると、建物の内部は他のすべてのものと一緒に消えてしまいます。しかし、内部を非表示にする方法がわかりませんでした

どんな助けでも大歓迎です!

4

1 に答える 1

3

答えを導き出しました。すべての POI をオフにしてから、表示したいものだけをオンにします。建物の内部 (およびその他すべて) が表示されないようにするためのスタイラーは次のとおりです。

var styles = [
  {"stylers": [
          { "visibility": "off" },

        ]},
{
    "featureType": "road",
    "stylers": [
      { "visibility": "on" }
    ]
  }];
于 2013-01-21T17:40:10.860 に答える