2012-02-10 157 views
1
function initialize() { 
    var myOptions = { 
     center: new google.maps.LatLng(23.71181,90.407467), 
     zoom: 8, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var map = new google.maps.Map(document.getElementById("map_canvas"), 
     myOptions); 
    var map_coverage = new google.maps.KmlLayer('http://mydomain.com/myfile.kmz' ); 
    map_coverage.setMap(map);  
    map.setZoom(12); 
    map.setCenter(dhaka_latlng);  
    } 

上面的代碼與kmllayer下列地圖輸出和KML文件已經與谷歌地球創建並保存爲一個KMZ(壓縮)的服務器上的文件。此文件包含一些XML數據和彩色區域表示在標籤的一些座標與其他標籤一起像如何創建一個谷歌地圖KML層覆蓋動態

<coordinates> 
    90.27401489730001,23.9502580159,0 90.2740186914,23.95007761100001 ... so on 
</coordinates> 

我想使用谷歌地球的JavaScript API-V3,但沒有幫助,動態地創建kmllayer類似的地圖。我的意思是我想用php創建kml文件並將其作爲somefile.kmz保存在服務器上。那可能嗎 ?任何形式的幫助將不勝感激。謝謝 !

我可以張貼原來的KML文件,如果你需要,但它的大

enter image description here

回答

1

是的,有可能產生新的KML文件服務器端(PHP),然後告訴JavaScript的使用生成KML內容的網址加載新的KmlLayer。請注意,KML網址:

  • 必須是可公開訪問的,因爲谷歌服務器需要下載
  • 將通過谷歌服務器緩存,服務將在同一網址不同的內容不會刷新

爲了克服這種緩存,只需在URL中添加一些隨機的咔噠聲。但是,請注意緩存可以使其更快。您不能同時擁有「超快KML」和「實時新數據」。此外,請注意您自己的服務器對KML URL的響應時間,越快越好。

+0

謝謝,任何想法我可以做到這一點,可能是一些代碼...! – 2012-02-10 19:28:05

+0

我剛剛搜索了「php創建kml」並找到http://code.google.com/apis/kml/articles/phpmysqlkml.html和其他許多人:) – miguev 2012-02-10 19:50:51

+0

非常感謝,我現在就試試,你幫助了我很多。我也搜索了,但沒有找到,再次感謝! – 2012-02-10 20:09:44