Клуб API Карт

Как получить мастшаб и центр карты для группы меток

Денис
3 марта 2011, 12:14

Здравствуйте,

я добавляю на карту несколько меток, которые могут быть расположены на определенном расстоянии друг от друга.

Мне нужно, чтобы автоматически подбирался максимально возможный мастшаб карты и ее центр так, чтобы все метки попали в область видимости карты.


Как это можно сделать?

8 комментариев
Подписаться на комментарии к посту

можно добавить все точки в YMaps.GeoCollectionBounds и смаштабировать на него карту

с помощью метода map.setBounds

Сдела так:

var bounds = new YMaps.CollectionBounds();

потом в цикле

bounds.add(new YMaps.Point({$item.lng}, {$item.lat}));

конце цикла

var center = bounds.getCenter();
map.setCenter(new YMaps.GeoPoint(center.getX(), center.getY()), bounds.getMapZoom(map));

 вместо 
var center = bounds.getCenter();
map.setCenter(new YMaps.GeoPoint(center.getX(), center.getY()), bounds.getMapZoom(map));
можно map.setBounds(bounds);

В этом случае выдается ошибка :

t.isUnbounded is not a function 
а есть ссылка на ошибку?

Firebug выдал следующее:

t.isUnbounded is not a function  YMaps.onLoad("core",function(k,g){(fun...)};a=o(k.WayPoint,k.GeocoderResult)});_YMaps.js (строка 11)

YMaps.GeoCollectionBounds используйте, а не YMaps.CollectionBounds.
Вот тепреь работает. Спасибо