Клуб API Карт

Static API и Windows приложение (C++)

VintVV
29 апреля 2011, 16:13

Делаю просмотрщик карт с кешированием уже полученых кусков и отображением своих объектов (точки, линии поверх полученного растра). Но возникла проблема с корректным отображением точек.

Получаю растр №1 указанием цетральной точки и размера в градусах, например

"http://static-maps.yandex.ru/1.x/?ll=44,44&spn=0.1,0.1&l=map&key=";

Всё Ок получаю раст и рисую точку (точка там где должна быть). Сохраняю раст в файл, где в имени пишу координаты левого верхнего угла и правого нижнего угла в МЕТРАХ (функция GeoToMercator)

Дальше хочу нарисовать ломанную линию. Задаю набор точек (долгота, широта). Нахожу MAX и MIN долгот и широт, и по ним вычисляю центральную точку и размер карты. Получаю и сохраняю карту с привязкой в метрах. Но когда на этом растре отображаю точку (44, 44) она уезжает.

Так вот собственно вопрос: к чему лучше привязать растр? я думал к земле в метрах универсально.

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

А почему вас не устраивает привязка собственно в геокоординатах, зачем Меркатор?

+ имейте в виду, что центральная точка != полусумма координат углов (проекция Меркатора вытянута по широте).

Честно говоря я не знаю, но мне показалось что результат выполнения функции YMap.geoToMercator есть точки на земле, то есть в метрах. Например, L=44 B=44 то после выполнения функции получаем числа 4898057.59490404 и 5435749.88757466.



А как же тогда считать цетральную точку если надо отобразить набор точек (широта, долгота)