Клуб API Карт

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

shasoft
28 апреля 2009, 21:48

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

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

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

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