alex4answ
@alex4answ

Как вычислить центр и зум для яндекс карты?

Добрый день, столкнулся с проблемой, раньше как-то решал ее, сейчас уже не могу найти, а старые решения которые я гуглю - не работают.

Есть n точек, как вычислить bounds и zoom для них, чтобы все поместились на карте ?

<YMaps>
  <Map
    defaultState={{
      zoom: 10,
      center: houses[0].position,
    }}
  >
    {houses.map((house) => <Placemark geometry={house.position} key={house.key} />}
  </Map>
</YMaps>


Как сейчас это реализуется?
  • Вопрос задан
  • 64 просмотра
Решения вопроса 2
freeExec
@freeExec
Участник OpenStreetMap
Расширяя bounds, включая в него всё новые и новые точки. Затем заставить карту показать этот получившийся bounds.
Ответ написан
alex4answ
@alex4answ Автор вопроса
Для меня и подобных мне людей в будущем:
1. Добавляем все метки на карту
2. Получаем bounds у instance карты: myMap.geoObjects.getBounds()
3. Назначаем его instance карты, с опциями для зума, отступов и тп:
myMap.setBounds(
  myMap.geoObjects.getBounds(),
  { 
    checkZoomRange: true,
    zoomMargin: 9
  }
);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы