2013-06-21 35 views
1

編輯:解決:如何在谷歌驅動KML文件中嵌入preserveViewport,用於地圖API V3

var opt = { minZoom: 6, maxZoom: 9 }; 
    map.setOptions(opt); 

我是剪切和粘貼編碼器,雖然我打算學習語法好,我是在截止日期之前,我現在要求幫助。我已經廣泛搜索,雖然有解決我的問題,我還沒有找到一個適合我的。我的KML文件託管在Google雲端硬盤上,因此不是文件網址,而是driveFileId。

如果要保留視口,通常只需將其添加到圖層對象並將其設置爲「true」。然而,無論我怎麼寫,我的KML文件都不會讓我覆蓋其邊界適合屏幕的默認縮放級別。有人可以幫忙嗎?這是工作對象:

var layer = new google.maps.KmlLayer({ 
driveFileId: "0Bexampleg"}); 
layer.setMap(map); 

編輯:這是整個事情。也許你可以看到是否有冗餘或矛盾導致這一點。

<!DOCTYPE html> 
<html<!DOCTYPE html> 
<html> 
<head> 
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?key=Aexamplekey0&sensor=true"></script> 
    <style> 
     #map { 
      width: 310px; 
      height: 410px; 
     } 
    </style> 

    <script> 
     window.onload = function() { 
var latlng = new google.maps.LatLng(53.385873, -1.471471); 

var styles = [ 
    { 
    //whatever 
    } 
] 

var myOptions = { 
zoom: 15, 
      disableDefaultUI: false, 
       styles: styles 
      }, 

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

var layer = new google.maps.KmlLayer({ 
    driveFileId: "0Bexampleg"}); 
layer.setMap(map); 
} 
google.maps.event.addDomListener(window, 'load', initialize); 
    </script> 

</head> 

<body> 
<div id="map"></div> 
</body> 
</html> 
+0

你是如何將preserveViewport選項添加到該代碼的? – geocodezip

+1

就像Tony所示的例子。 '(VAR層=新google.maps.KmlLayer({ driveFileId: 「0Bexampleg」, preserveViewport,用於:真}); layer.setMap(地圖);' 當我這樣做,它只是使我的地圖空白,但我仍然可以看到地圖大綱 - 就好像kml圖層只是阻止了一切,它與地圖代碼不起作用的不同 - 然後屏幕只是空白 – Wheelsgr

回答

4

基礎上current release API documentation,你應該能夠在對象實例化preserveViewport,用於選項設置:

var layer = new google.maps.KmlLayer({ 
    driveFileId: "0Bexampleg", 
    preserveViewport: true}); 
layer.setMap(map); 

沒有進一步的信息,如一個URL到你的KML數據,信息的地圖中心和縮放,沒有太多可以說。

+0

我在其餘部分添加了。 – Wheelsgr

1

GOT IT!

這就是:

var opt = { minZoom: 11, maxZoom: 15 }; 
map.setOptions(opt); 

然後在您的myOptions對象設置默認縮放。解決方案在這裏找到:Google Maps v3 - limit viewable area and zoom level 感謝@ChrisV。我不知道爲什麼,但KML層不允許原始preserveViewport代碼的任何排列。