我创建了一个谷歌地图following this tutorial,用于从mysql数据库创建的xml文件中加载标记和折线。一切正常,您可以看到地图at this page的示例。我创建了一个单独的PHP脚本,用于提取输入数据库的最后一个位置的纬度和经度。这是xml文件的输出:
<lastmarker>
<latlon lat="14.439290" lng="-60.882240"/>
</lastmarker>
我希望地图自动以输入的最后位置为中心。我已经遵循了本网站上的几条建议,但似乎无法正确获取代码。任何建议都将不胜感激,谢谢!
答案 0 :(得分:1)
在下载XML函数结束时,添加:
map.setCenter(point);
(在polyline.setMap(map)之后;)
解释为循环处理折线中的点,它使用“点”作为中间值,当循环退出时,它包含从文件读取的最后一个值。
更新的代码:
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