阅读xml文件后google maps api v3中心地图

时间:2011-10-12 18:42:05

标签: google-maps google-maps-api-3

我正在将我的Google地图代码更新为版本3,我遇到了一个问题。

在版本2中,我正在读取xml文件以创建标记,并且我基于坐标将地图居中,但在版本3中,在读取xml文件之前已在map变量中定义了中心。

这很容易解决吗?

取自http://code.google.com/apis/maps/articles/phpsqlajax_v3.html

的第3版代码
function load() {
  var map = new google.maps.Map(document.getElementById("map"), {
    center: new google.maps.LatLng(47.6145, -122.3418),
    zoom: 13,
    mapTypeId: 'roadmap'
  });
  var infoWindow = new google.maps.InfoWindow;

  // Change this depending on the name of your PHP file
  downloadUrl("results.xml", function(data) {
    var xml = data.responseXML;
    var markers = xml.documentElement.getElementsByTagName("marker");
    for (var i = 0; i < markers.length; i++) {
      var name = markers[i].getAttribute("event");
      var address = markers[i].getAttribute("location");
      var type = markers[i].getAttribute("type");
      var point = new google.maps.LatLng(
          parseFloat(markers[i].getAttribute("lat")),
          parseFloat(markers[i].getAttribute("lng")));
      var html = "<b>" + name + "</b> <br/>" + address;
      var icon = customIcons[type] || {};
      var marker = new google.maps.Marker({
        map: map,
        position: point,
        icon: icon.icon,
        shadow: icon.shadow
      });
      bindInfoWindow(marker, map, infoWindow, html);
    }
  });
}

1 个答案:

答案 0 :(得分:3)

也许你的意思是map.setCenter(latlng:LatLng)?解析你的xml,创建标记,然后将地图居中放在你想要的位置。