所以我正在製作一個簡單的網站,其初始功能簡單如此:從最近上傳的KML文件初始化Google Maps API
用戶上傳KML文件到網站。 Google Maps API會使用此KML文件進行初始化,以便顯示地圖及其最近的移動。
現在這聽起來很簡單,但我在基礎知識方面遇到了一些麻煩。這或多或少是我第一次參與Web開發,因此我正在嘗試學習HTML,CSS,AJAX,PHP,Google Maps API V3以及KML文件格式。
要使用KML文件初始化谷歌地圖API,首先必須建立一些基本信息,比如這個:
function initialize() {
var myLatlng = new google.maps.LatLng(40.65, -73.95);
var myOptions = {
zoom: 12,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
最重要的一點來看看這裏是哪裏居中地圖。
除了這一點,必須指定KML文件使用方法:
var nyLayer = new google.maps.KmlLayer(
'http://www.searcharoo.net/SearchKml/newyork.kml',
{ suppressInfoWindows: true,
map: map});
這些當然只是例子,不是我將使用數據。
現在我的問題是這樣的。這些值似乎是預先確定的和靜態的。要初始化Google Maps API,這些值需要事先知道。但在我的情況下,直到用戶上傳KML文件,纔會知道這些值。
到目前爲止,我有一個簡單的PHP腳本來處理文件上傳。我不知道如何將控制權交給包含Google地圖設置的JavaScript,或者如何編寫此代碼,以便僅在文件上傳後才知道的值用於初始化地圖。
總之,我的意思來實現是這樣的:
用戶瀏覽到KML文件。用戶按下「上傳」按鈕。文件已上傳,然後立即用於初始化顯示其移動的地圖。
我可能寫得太多了,但我認爲最好寫得不夠多。預先感謝您的建議。
KmlLayer更改地圖以顯示KML文件的內容(除非您指定preserveViewport選項爲true)。 – geocodezip 2012-07-14 17:00:43