设置jQuery表循环生成的标记的边界?

时间:2010-04-27 22:56:42

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

我有一些jQuery代码,它通过一个位置结果表并将相应的引脚放在地图上。我无法弄清楚如何设置边界,以便当它通过循环并在地图上生成标记时,它会缩放并平移以适合视图中的标记。我尝试在这个网站上实现一些类似问题的代码,但似乎没有任何效果。请让我知道我应该使用什么代码以及我应该把它放在我的脚本中的哪个位置:

$(function() {
   var latlng = new google.maps.LatLng(44, 44);

   var settings = {
      zoom: 15,
      center: latlng,
      disableDefaultUI: false,
      mapTypeId: google.maps.MapTypeId.ROADMAP
   };

   var map = new google.maps.Map(document.getElementById("map_canvas"), settings);

      $('tr').each(function(i) {

         var the_marker = new google.maps.Marker({
            title: $(this).find('.views-field-title').text(),
            map: map,
            clickable: true,
            position: new google.maps.LatLng(
               parseFloat($(this).find('.views-field-latitude').text()),
               parseFloat($(this).find('.views-field-longitude').text())
            )
         });

         var infowindow = new google.maps.InfoWindow({
            content:  $(this).find('.views-field-title').text() +
                      $(this).find('.adr').text()
         });

         new google.maps.event.addListener(the_marker, 'click', function() {
            infowindow.open(map, the_marker);

         });
      });
});

`

1 个答案:

答案 0 :(得分:0)

var map = ...下添加var bounds = new google.maps.Bounds(latlng, latlng);

然后在var the_marker = ...下的循环中添加bounds.extend(the_marker.getPosition());

然后循环结束添加map.fitBounds(bounds);