使用xml文件中心谷歌地图

时间:2014-01-08 23:19:19

标签: google-maps-api-3

我创建了一个谷歌地图following this tutorial,用于从mysql数据库创建的xml文件中加载标记和折线。一切正常,您可以看到地图at this page的示例。我创建了一个单独的PHP脚本,用于提取输入数据库的最后一个位置的纬度和经度。这是xml文件的输出:

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

我希望地图自动以输入的最后位置为中心。我已经遵循了本网站上的几条建议,但似乎无法正确获取代码。任何建议都将不胜感激,谢谢!

1 个答案:

答案 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