kimono
@kimono
Web developer

Как правильно отцентрировать и отзуммировать область координат на Яндекс.Карте?

Есть несколько координат (количество меняется). Их нужно отобразить на Яндекс.Карте так, чтобы zoom был максимальным, и при этом все координаты лежали на видимой части карты.
Что делаю: пробегаюсь по всем координатам, собираю минимумы и максимумы как долготы, так и широты. Получается некий прямоугольник, все координаты наших точек будут заведомо внутри или на границах этого прямоугольника. Затем беру его центр - это и будет центром нашей карты. Это логично и не сложно.
Загвоздка в другом - Zoom выставлять вручную - не вариант. Точки могут остаться в центре и будет много пустого места, либо какая-то точка окажется за пределами видимости окна нашей карты.
Как правильно сделать? Не могу найти в доках как и что дергать, но знаю, что где-то это есть.
  • Вопрос задан
  • 501 просмотр
Решения вопроса 2
freeExec
@freeExec
Участник OpenStreetMap
То что вы насчитали называется bounds. А судя по докам, есть некий метод getMapZoom, который для данной области посчитает за вас необходимый зум, чтобы всё помещалось.
Ответ написан
Комментировать
BOOMER_74
@BOOMER_74
Full-Stack разработчик
var placemarkers = new ymaps.GeoObjectCollection();

...
placemarkers.add(new Placemark(...));
...

map.setBounds(placemarkers.getBounds());


О setBounds.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы