Получить координаты углов прямоугольника, наложенного на карту

#algorithm #map #maps #coordinate-systems #coordinate-transformation

#алгоритм #словарь #Карты #системы координат #преобразование координат

Вопрос:

Я разрабатываю приложение, которое показывает вид карты. Наложенный при этом я рисую прямоугольник, центр которого всегда находится в центре экрана, следовательно, в центре карты. Я могу переместить угол прямоугольника, чтобы изменить его размер, чтобы выбрать область на карте.

У меня есть только координаты (широта / долгота) центра прямоугольника (и карты), высота и размер прямоугольника (пиксель или см).

Как я могу получить координаты углов прямоугольника??

Должен ли я вычислить масштаб между размером прямоугольника и высотой карты? а потом?

пожалуйста, объясните мне эту проблему 🙂

заранее спасибо

Ответ №1:

Я нашел решение. Я разработал приложение для BlackBerry 10, и в классе MapView есть несколько очень полезных методов.

Получение координат угла прямоугольника, нарисованного на mapview (например, для выбора области на карте)

используя

 bb::platform::geo::Point windowToWorld (const QPoint amp;windowCoordinates)
  

вызовите windowToWorld передачу координат пикселя углов относительно начала координат оси. Метод возвращает координаты (широта /долгота) точки на экране (x,y).

ПРЕДУПРЕЖДЕНИЕ: начало координат окна находится в верхнем левом углу окна MapView (не на экране), при этом положительные значения идут вправо (ось x) и вниз (ось y).

Если вы хотите выполнить обратное, используйте worldToWindow метод, который преобразует мировые координаты (широту / долготу) в координаты окна (пиксели).

например: нарисуйте географическую точку на mapview