谷歌地图V3 - 循环标记和缩放地图到最后一个标记

时间:2011-01-27 04:32:19

标签: javascript google-maps

我有一个循环标记数据的XML文件的函数。我需要设置我的地图,以便放大循环中的最后一个标记。

    var image = 'images/Icon.png'
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    downloadUrl("phpsqlajax_genxml4.php", function(data) {
      var markers = data.documentElement.getElementsByTagName("marker");
      for (var i = 0; i < markers.length; i++) {
        var latlng = new google.maps.LatLng(parseFloat(markers[i].getAttribute("lat")),
                                    parseFloat(markers[i].getAttribute("lng")));
        var marker = createMarker(markers[i].getAttribute("name"), markers[i].getAttribute("ft"), markers[i].getAttribute("inch"), markers[i].getAttribute("lbs"), markers[i].getAttribute("oz"), markers[i].getAttribute("date"), markers[i].getAttribute("pic"), latlng);


       }
     });
  function createMarker(name, ft, inch, lbs, oz, date, pic, latlng) {
    var marker = new google.maps.Marker({position: latlng, map: map, icon: image});

    var html = "<table border='0'>" + 
  "<tr>" + 
    "<td width='150'>" + "<strong>" + name + "<br>" + ft + " " + inch + " &nbsp;&nbsp;&nbsp;" + lbs + " " + oz + "</strong><br>" + date + "</td>" + 
    "<td width='100'>" + '<img src="image.jpg?width=80&amp;height=80&amp;cropratio=1:1&amp;image=' + pic +'"/>' + "</td> </tr> </table>";
    google.maps.event.addListener(marker, "click", function() {
      if (infowindow) infowindow.close();
      infowindow = new google.maps.InfoWindow({content: html});
      infowindow.open(map, marker);
    });
    return marker;
  }

1 个答案:

答案 0 :(得分:1)

尝试使用它来标记标记

     map.setCenter(new GLatLng(parseFloat(markers[0].getAttribute("lat")),
 parseFloat(markers[0].getAttribute("lng"))),3);