我們正在瀏覽器中顯示的Google Map上覆蓋一些KML文件。正常Google Maps上顯示的KML文件按預期工作。但是,當顯示在瀏覽器中顯示的Google地圖中時,KML文件沒有按預期顯示。 KML文件是通過使用在線轉換器工具轉換Shape文件生成的。Google上覆蓋KML文件時出現的問題在瀏覽器中顯示的地圖
我們使用了美國人口普查局網站的原始形狀文件和檢索的縣信息。
需要幫助解決問題。
我們正在瀏覽器中顯示的Google Map上覆蓋一些KML文件。正常Google Maps上顯示的KML文件按預期工作。但是,當顯示在瀏覽器中顯示的Google地圖中時,KML文件沒有按預期顯示。 KML文件是通過使用在線轉換器工具轉換Shape文件生成的。Google上覆蓋KML文件時出現的問題在瀏覽器中顯示的地圖
我們使用了美國人口普查局網站的原始形狀文件和檢索的縣信息。
需要幫助解決問題。
如果您提供了您正在使用的代碼或.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>
:
無論如何,你可以將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
您是否在Google地球中按預期工作?什麼是「正常的Google地圖」? – Tony 2011-04-05 20:55:36
既然KML文件在Google地圖上正確顯示。有人可以協助在單個Google地圖上疊加多個KML文件嗎 – Jayasudha 2011-04-08 11:57:06
您只需創建多個圖層並將其地圖屬性設置爲您的地圖實例。您很可能爲每個KML文件都有單獨的URL,因此您只需使用這些URL來更改構造函數。請參閱我的答案下面的構造函數。 – Tony 2011-04-08 15:02:55