2011-03-31 18 views
0

我們正在瀏覽器中顯示的Google Map上覆蓋一些KML文件。正常Google Maps上顯示的KML文件按預期工作。但是,當顯示在瀏覽器中顯示的Google地圖中時,KML文件沒有按預期顯示。 KML文件是通過使用在線轉換器工具轉換Shape文件生成的。Google上覆蓋KML文件時出現的問題在瀏覽器中顯示的地圖

我們使用了美國人口普查局網站的原始形狀文件和檢索的縣信息。

需要幫助解決問題。

+0

您是否在Google地球中按預期工作?什麼是「正常的Google地圖」? – Tony 2011-04-05 20:55:36

+0

既然KML文件在Google地圖上正確顯示。有人可以協助在單個Google地圖上疊加多個KML文件嗎 – Jayasudha 2011-04-08 11:57:06

+0

您只需創建多個圖層並將其地圖屬性設置爲您的地圖實例。您很可能爲每個KML文件都有單獨的URL,因此您只需使用這些URL來更改構造函數。請參閱我的答案下面的構造函數。 – Tony 2011-04-08 15:02:55

回答

1

如果您提供了您正在使用的代碼或.kml文件,這將對您有所幫助,以便我可以看到它出錯的位置。你是如何創建KmlLayer

<html> 
<head> 
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
    <script type="text/javascript"> 
     function initialize() { 
      new google.maps.KmlLayer('http://api.flickr.com/services/feeds/geo/[email protected]&lang=en-us&format=feed-georss').setMap(
      new google.maps.Map(document.getElementById("map_canvas"), {mapTypeId: google.maps.MapTypeId.ROADMAP}) 
     ); 
     } 
    </script> 
</head> 

<body onload="initialize()"> 
    <div id="map_canvas" style="position:absolute;bottom:0;left:0;right:0;top:0"></div> 
</body> 
</html> 
0

無論如何,你可以將KML添加到您的地圖也是這樣嗎?

傳遞給KmlLayer的構造函數的URL必須是可公開訪問的URL,以便Google的服務器可以檢索KML/KMZ,然後在它返回給您的磁貼上呈現它。

var layer = new google.maps.KmlLayer('http://this/must/not/be/localhost/file.kmz'); 

可以看出在谷歌地圖API第3版參考:

一個KmlLayer從可公共訪問的Web服務器上承載的KML,KMZ或GeoRSS文件添加地理標記到地圖中。

請注意,對KML和KMZ文件也有限制。有關這方面的信息可以在這裏找到:http://code.google.com/apis/kml/documentation/mapsSupport.html

相關問題