Стрелка направления iPhone? - PullRequest
1 голос
/ 11 января 2010

Мне нужно создать простое представление для iPhone, которое на основе местоположения пользователя в мире указывает человеку на неизменное местоположение лонг / лат.

Можно ли узнать это из iPhone API?

Какие-нибудь примеры?

Ответы [ 2 ]

5 голосов
/ 11 января 2010

Это возможно на текущем (3GS) iPhone, но не на более ранних версиях (у которых не было компаса). API, которые вам нужно использовать, находятся в CoreLocation.framework.

Поищите в магазине приложений «Мекку», и вы обнаружите множество приложений, которые выполняют именно то, о чем вы просите. Вы также найдете несколько приложений, которые позволяют вам указывать булавку в любом месте на карте, и приложение указывает вам на нее.

1 голос
/ 12 января 2010

Я недавно написал код, который делает почти точно то, что вы описываете.

Вот что вам нужно сделать:

Рассчитайте курс от вашего текущего местоположения до вашего целевого местоположения. Вы должны использовать вычисления "большого круга", чтобы они показывали правильный курс, даже когда пункт назначения находится за горизонтом. Я нашел код (в Javascript) по этой ссылке, чтобы показать мне, как это сделать:

http://www.movable -type.co.uk / скрипты / latlong.html

Вы хотите раздел под названием "подшипник" Этот код использует подпрограммы библиотеки JavaScript, такие как «math.sin (x)». Вы можете в значительной степени просто удалить «math». часть, и функции триггера работают как есть.

Это даст вам ориентир в радианах.

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

Дункан С

...