Преобразование долготы, широты в координаты XY

Теперь я хочу узнать, как преобразовать долготу и широту в эквивалентные компоненты координат xy в программировании iPhone. (Я использую только программирование CoreLocation и хочу показать точку на экране iPhone без карты).

Благодарность


person Mobile Developer iOS Android    schedule 31.05.2011    source источник


Ответы (1)


Что ж, точное преобразование зависит от того, какую именно часть Земли вы хотите показать, а растяжение по долготе зависит от широты, по крайней мере, в Меркатор.

При этом, даже если вы не хотите отображать настоящую карту MapKit, проще всего будет создать MKMapView и держите его в стороне. Если вы установите область, которую хотите отобразить соответствующим образом (путем установки свойства region), вы можете использовать convertCoordinate:toPointToView: для сопоставления долготы и широты с местоположением на 2D-экране.

Обратите внимание, что MKMapView настраивает область, которую вы устанавливаете, чтобы иметь смысл для данного окна просмотра (например, если вы дали ему область, которая была коротким толстым прямоугольником, но вид, который у него был, был высоким тонким прямоугольником, он выберет наименьшая область, которая покрывает весь короткий толстый прямоугольник, но имеет форму высокого тонкого прямоугольника), поэтому не запутайтесь, если вы укажете область, в которой левый верхний угол является определенной геолокацией, но тогда эта геолокация не находится в самом конце. точный верхний левый угол зрения.

person Tommy    schedule 31.05.2011
comment
я не использую никакую карту, я хочу просто преобразовать точку долготы, широты в соответствующие точки xy (и перевести их в пиксели), чтобы отобразить ее на UIImageview в iphone. - person Mobile Developer iOS Android; 31.05.2011
comment
Я не думаю, что я был полностью ясен в своем ответе - самый простой способ - создать MKMapView, дать ему область, покрываемую вашим изображением, а затем использовать convertCoordinate:toPointToView: без фактического отображения MKMapView. Затем отобразите что-нибудь в момент его возврата так, как вы хотите. - person Tommy; 31.05.2011