2014-01-08 32 views
0

我創建了一個谷歌地圖following this tutorial,它從mysql數據庫創建的xml文件中加載標記和多義線。一切正常,您可以看到地圖at this page的示例。我創建了一個單獨的PHP腳本,用於提取輸入數據庫的最後一個位置的緯度和經度。這裏是xml文件的輸出:使用xml文件中心google地圖

<lastmarker> 
    <latlon lat="14.439290" lng="-60.882240"/> 
</lastmarker> 

我希望地圖自動以最後輸入的位置爲中心。我遵循了本網站上的幾條建議,但似乎無法獲得正確的代碼。任何建議將不勝感激,謝謝!

+0

是什麼代碼看起來象您認爲_should_中心後點的地圖嗎? 'map.setCenter(point);'(在'polyline.setMap(map);'後面)不起作用? – geocodezip

+0

哇!就這麼簡單!謝謝,這很好! – user3175299

回答

1

在您下載XML函數的末尾,添加:

map.setCenter(point); 

(右後polyline.setMap(圖))

解釋爲你的循環過程中折線它使用點「點「作爲中間值,當循環退出時,它包含從文件中讀取的最後一個值。

更新代碼:

downloadUrl("genxml2.php", function(data) { 
    var xml = data.responseXML; //xmlParse(data); 
    var markers = xml.documentElement.getElementsByTagName("marker"); 
    var path = []; 
    for (var i = 0; i < markers.length; i++) { 
     var lat = parseFloat(markers[i].getAttribute("lat")); 
     var lng = parseFloat(markers[i].getAttribute("lng")); 
     var point = new google.maps.LatLng(lat,lng); 
     path.push(point); 
    }//finish loop 

    var polyline = new google.maps.Polyline({ 
     path: path, 
     strokeColor: "#FF0000", 
     strokeOpacity: 1.0, 
     strokeWeight: 2 
    }); 
    polyline.setMap(map); 
    map.setCenter(point); 

    }); //end download url 
+0

是的,就是這樣,非常感謝您的回覆! – user3175299