Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Масштабирование google map (https://javascript.ru/forum/misc/21562-masshtabirovanie-google-map.html)

ditasandditas 15.09.2011 11:54

Масштабирование google map
 
Такая задача: нужно сделать автомасштабирование для гуглкарты, с множеством маркеров, таким образом, чтобы отображались ВСЕ маркеры на карте.
Карта выводится стандартными методами API v3.
Нашел вот такой вариант:
// Create a LatLngBounds object
var bounds = new google.maps.LatLngBounds();

for (var i = 0; i < myPositions.lenght; i++) {
  // Insert code to add marker to map here

  // Extend the LatLngBound object
  bounds.extend(myPositions[i]);
}
map.fitBounds(bounds);

где myPositions - массив, содержащий LatLng объекты. Но никак не могу реализовать этот вариант (если он вообще рабочий).
Мой код:
<script>
function initialize() {
     var Latlng = new google.maps.LatLng(56.81520299171724, 35.86254508842774);
     var myOptions = {
         zoom: 8,
         center: Latlng,
         mapTypeId: google.maps.MapTypeId.ROADMAP
     }
     var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

// Далее идет php-код, который в цикле выводит маркеры
//запрос к БД, обработка результата, цикл for($i=0; $i<$num; $i++){, 
//echo"

var myLatlng$i = new google.maps.LatLng($lat, $lng);
var marker$i = new google.maps.Marker({
  position: myLatlng$i,
  map: map
});
var contentString$i = '<div id='content'>$address</div>';
var infowindow$i = new google.maps.InfoWindow({
  content: contentString$i
});
google.maps.event.addListener(marker$i, 'click', function() {
  infowindow$i.open(map,marker$i);
});

//";}
}
</script>


Часовой пояс GMT +3, время: 22:35.