2013-06-29 140 views
2

我在網上關注了許多教程,但未能成功嘗試在我的網站上獲得一個帶有所需KML覆蓋圖的Google地圖窗口。我的代碼如下:Google Maps API V3 KML圖層不顯示

<!DOCTYPE html> 
<html> 
<head> 
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"> 
</script> 

<script> 
function initialize() 
{ 
var mapOptions = { 
    center: new google.maps.LatLng(38,-79.5), 
    zoom:3, 
    mapTypeId: google.maps.MapTypeId.TERRAIN 
} 
var map=new google.maps.Map(document.getElementById("googleMap"),mapOptions); 
var overlay = new google.maps.KmlLayer('https://doc-08-4g-  docs.googleusercontent.com/docs/securesc/ckoh7mm1pf9l58sknv61gkpp19v37j15/r3rh37mucb8nscl1r37disrlcom7i93t/1372536000000/00236509183910004089/00236509183910004089/0B-qVNYv_qM5vNy1ZbzJYVUgtTjA?h=16653014193614665626&e=download'); 

overlay.setMap(map); 
} 
</script> 
</head> 
<body> 
<div id="googleMap"></div> 
</body> 
</html> 

我不明白劇本src和爲什麼它需要的,但我發現它在教程所以我把它。截至目前,我的KMZ而不是KML文件是在谷歌驅動器,這是公開的,我已經使用下載鏈接。即使我使用互聯網上的例子中的KML文件,這也不起作用。我錯過了什麼?請幫忙!!

+0

我無法打開文件(即使我從URL中刪除空格)......所以它沒有看到m是公共可訪問的。但是,當您想查看任何內容時,#googleMap需要一個高度。 –

回答

3

有3個問題,我看到:

  1. 初始化功能是從來沒有所謂
  2. 地圖上沒有大小
  3. 的KML無效(返回狀態INVALID_DOCUMENT)

    <!DOCTYPE html> 
    <html> 
    <head> 
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"> 
    </script> 
    
    <script> 
    function initialize() 
    { 
    var mapOptions = { 
        center: new google.maps.LatLng(38,-79.5), 
        zoom:3, 
        mapTypeId: google.maps.MapTypeId.TERRAIN 
    } 
    var map=new google.maps.Map(document.getElementById("googleMap"),mapOptions); 
    var overlay = new google.maps.KmlLayer('https://doc-08-4g-docs.googleusercontent.com/docs/securesc/ckoh7mm1pf9l58sknv61gkpp19v37j15/r3rh37mucb8nscl1r37disrlcom7i93t/1372536000000/00236509183910004089/00236509183910004089/0B-qVNYv_qM5vNy1ZbzJYVUgtTjA?h=16653014193614665626&e=download'); 
    
    overlay.setMap(map); 
    google.maps.event.addListener(overlay,'status_changed',function(){ 
        document.getElementById('status').innerHTML = overlay.getStatus(); 
    }); 
        } 
    google.maps.event.addDomListener(window,'load', initialize); 
    </script> 
    </head> 
    <body> 
    <div id="googleMap" style="height:500px;width:600px;"></div> 
    <div id="status"></div> 
    </body> 
    </html> 
    
+0

感謝您的代碼..我試圖讓我的Google雲端硬盤上的KML文件公開。你會知道如何設置它嗎?或者Dropbox是一個更好的選擇嗎?或者甚至在網站的另一部分有地圖? – Ravin

+1

@Ravin目前,您可以在Google Drive中轉到您的KML,點擊「文件 - >嵌入」,然後在那裏獲得帶有適合KmlLayer嵌入的url的javascript行,例如'var layer =新的google.maps.KmlLayer({driveFileId:「0B2u_mC9PEAxyZDk1NjI4YjgtMzA5NC00ZDg3LTg3YzQtYTU5YTZmNjcyNTM1」 });'這是相同的散列碼,出現在該給定文件的所有類型的GDrive URL中。 – heltonbiker