2013-01-21 95 views
0

我想通過使用自定義樣式來簡化Google地圖佈局。我無法解決的一個問題是建築物內部正在顯示。例如,時代華納大廈在紐約:如何使用樣式從Google地圖中刪除建築物內部?

Time Warner Building, Columbus Circle, New York, 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> 

如果我把「所有」特徵的可見性,建築內部與其他一切消失。不過,我一直無法弄清楚如何只是使內部消失。

任何幫助非常感謝!

回答

3

找出答案。您關閉所有POI,然後只打開要顯示的內容。 這裏是使建築物內部的造型(和其他一切)不出現:

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

     ]}, 
{ 
    "featureType": "road", 
    "stylers": [ 
     { "visibility": "on" } 
    ] 
    }]; 
+1

這實際上使我的地圖風格不太複雜,因爲我有很多的設置爲'「可見性」的特點:「關」 ' –

相關問題