Как показать компас на экране? - PullRequest
5 голосов
/ 02 октября 2011

Я новичок в разработке для iOS. Моя цель - показать компас на экране. У меня есть широта и долгота определенного места. Я получил мою текущую широту и долготу с помощью CLLocation.

Я рассчитал расстояние между двумя точками с помощью API, но теперь я хочу знать правильное направление моего телефона N / S / E / W и что-то вроде правильного северного полюса ... Я не уверен.

Есть ли какая-нибудь концепция iPhone и Северного полюса?

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

Пожалуйста, помогите мне, куда мне теперь идти? Любое руководство или ссылки / тут будут отличными.

1 Ответ

6 голосов
/ 03 октября 2011

Это называется "заголовком" CLLocation.

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

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

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


PS: О двух разных северах понятия не существует.«Северный полюс iPhone», это не имеет никакого отношения к самому iPhone.В географических системах необходимо рассмотреть две северные ссылки: Северный магнитный полюс, который определяется в соответствии с магнитным полем Земли, и Северный истинный полюс, который определяется в соответствии с осью вращения Земли.

Это также подробно объясняется в Руководстве по программированию для определения местоположения (как и во всем; всегда читайте Руководства по программированию, которые являются отличным и очень полным ресурсом в целом):

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

...