Установить границы для маркеров, сгенерированных циклом таблицы jQuery? - PullRequest
0 голосов
/ 28 апреля 2010

У меня есть некоторый код 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 голосов
/ 09 августа 2010

Под var map = ... добавить var bounds = new google.maps.Bounds(latlng, latlng);

Затем в вашем цикле под var the_marker = ... добавьте bounds.extend(the_marker.getPosition());

Затем цикл завершается добавить map.fitBounds(bounds);

...