Клуб API Карт

Заголовок не указан

Пост в архиве.

Мне нужно установить масштаб карты, зная точку и размер объекта (области просмотра) в метрах.

Может есть функция какая?

А то приходится делать танцы с бубном.

6 комментариев
Sergey Konstantinov
28 января 2016, 08:48
В случае небольших размеров объекта необходимо пересчитать размер области в градусы (длина одного градуса меридиана = 111 километров, одного градуса параллели = 111 км * косинус широты) и воспользоваться методом map.setBounds()
Валерий Шабанов
28 января 2016, 08:48
Сам алгоритм я реализовал и он работает и для яндекса и для гугля. Реализация похожа на то, что вы предложили. Только я сначало забыл, что размер между соседними градусами долготы разный и зависит от широты. :) И работает он на любых размерах. Но пока у меня самих объектов нету и я тестировал алгоритм на задаче синхронизации карт яндекса и гугля на одной странице. Т.е. изменяем масштаб карты яндекса, а на гугле масштаб подбирается наиболее близкий к яндексу. И наоборот. На всех масштабах алгоритм сработал правильно.
Расскажете поподробнее о своем решении? Интересно)
Валерий Шабанов
28 января 2016, 08:48
Я посчитал коофиценты для каждого масштаба = МетрНаПиксель Для нужных размеров считаю аналогичный коофицент и беру тот масштаб, к которому полученный коофицент наиболее близок.
понятно) Спасибо, что поделились, хочется увидеть еще пример реализации (думаю, что не только мне).
Валерий Шабанов
28 января 2016, 08:48
Вот это как раз проблематично. Сам код реализации занимает всего пару строк, но он "размазан" по коду другой функции, которая в свою очередь размазана по нескольким include-ам Так что проще самому написать. Могу привести коофиценты МНП для всех масштабов яндекса и гугля.