문제

Google을 검색 한 후 나 자신에게 묻습니다.

iPhone 3G의 GPS 센서를 사용하여 나침반 (제목/방향을 보여주는 간단한)을 만들 수 있습니까?

장치가 움직이는 경우에만 가능하다고 의심됩니다.

모든 아이디어는 감사합니다.

도움이 되었습니까?

해결책

예, 당신이 옳습니다. 그것이 유일한 방법입니다. 일단 방향을 알게되면 가속 센서에서 전화의 작은 움직임을 추적하고 원래 움직임이 멈추더라도 방향을 정확하게 그릴 수 있습니다.

메모: 이것은 구식 정보이며 3GS가 나올 때까지 정확했습니다. 불행히도 허용 된 답변을 삭제할 수 없으므로 아래를보십시오.

다른 팁

원래 iPhone과 iPhone 3G를 사용하여 no.

2009 년 6 월에 iPhone 3GS를 사용할 수 있습니다. 나침반 응용 프로그램을 허용하는 자력계가 포함되어 있습니다.

그만큼 핵심 위치 프레임 워크 이 정보를 제공합니다 클레드 수업. 당신은 있는지 확인할 수 있습니다 장치 지원 이 기능 magnetometer 열쇠.

다른 사람들이 말했듯이, iPhone 3G를 사용하면 전화가 움직일 때 움직임 방향을 알 수 있지만 사용자의 방향을 나타내도록 휴대 전화 방향을 알릴 수는 없습니다. 확실히 사용자는 움직임과 결합 된 특정 방식으로 전화를 방향을 정확하게 나타낼 수 있도록 지시받을 수 있습니다.

이에 대한 업데이트로 iPhone 3GS에는 앱에 사용할 수있는 실제 작동하는 디지털 나침반이 포함되어 있습니다. 그런 앱을 사소하게 만듭니다.

참조 CLHeading 클래스와 magneticHeading 재산.

http://developer.apple.com/ibrary/library/documentation/coreloction/reference/clheading_class/reference/reference/html

휴대 전화가 지리적으로 자신을 찾을 시간이 있다고 가정하면 진정한 노스 헤딩을 얻을 수 있습니다.

사용 가능한 응용 프로그램을 스캔함으로써 현재 iPhone 3G에 대한 나침반을 만드는 두 가지 방법이 있다는 결론에 도달했습니다.

  1. 전화를 이동해야합니다. GPS 데이터의 차이를 사용하여 방향을 결정하십시오.
  2. 사용자가 햇볕에 전화를 가리키도록 요구합니다. GPS와 시간 정보를 사용하여 지시를 결정하십시오.

iPhone이 가리키는 정확한 방향을 찾으려면 위치 관리자 기능을 구현하면됩니다.

따라서 이것을 확인할 수 있습니다.

CllocationManager *LocationManager; [LocationManager startUpdatingHeading];

그리고 startUpdatingHeading () 호출 할 때마다 "- (void) locationManager : (cllocationManager *) Manager DIDUPDATEHEADING : (ClHeading *) NewHeading"Location Manager에서 비난 해야하는 메소드.

그리고 그것이 당신은 NewHeading.magneticheading 또는 NewHeading.TrueHeading을 통해 iPhone 3GS가 가리키는 방향을 찾을 수 있습니다.

자기 나침반이 제공하는 것과 같은 방향을 정확히 알 수 있다는 사실에 놀랄 것입니다.

나침반은 움직이는 방향 만 보여줄 것입니다. iPhone이 배치 된 방향을 알려주는 것은 아닙니다. 따라서 가속도계를 사용하여 iPhone이 회전/이동했음을 추적해도 반드시 북쪽으로 디스플레이를 가리킬 수는 없습니다.

(예 : 옆으로 움직이는지 또는 우리가 iPhone을 거꾸로 잡고 있는지 또는 무엇이든 모르는지 알 수 없습니다. 당신이 움직이는 곳을 알게 될 것입니다 ...)

2010 년 12 월 편집 :이 원래 게시물이 작성된 이후 iPhone 3GS (Summer '09) 및 최신 모델에는 전자 나침반이 있습니다. 이 나침반은 움직이지 않고 올바른 방향을 보여줄 수 있습니다 ... (이것은 나침반이 iPhone이 잡거나 움직이는 방향에 관계없이 북쪽을 가리킬 수 있음을 의미합니다.)

나는 당신의 의심으로 당신의 권리를 생각합니다. GPS 위치는 방향 정보가없는 단일 지점이라고 생각합니다. 방향을 결정하려면 방향 벡터를 만들려면 두 점이 필요합니다. 자동차 내비게이션 시스템도 같은 방식으로 작동합니다. 자동차가 움직이면 방향 벡터 만 표시 할 수 있습니다.

아날로그 시계를 구현하는 경우 아래 지침을 사용하여 나침반 다이얼을 중첩 할 수 있습니다.

이것은 나침반을 '교정'하고 전화가 움직일 때 가속도계를 북쪽으로 가리키는 데 사용될 수 있습니다.

분명히 이것은 매우 정확하지 않습니다 ... "첨단 기술 문제에 대한 저 기술 솔루션"

(수업에서 가져온 http://www.qwerty.co.za)

북반구에서 시계를 평평한 땅에 놓고 시간 손을 태양 방향으로 가리 킵니다. 남북 라인은 다시 시간 핸드와 12시 사이의 각도를 반으로 나누는 선입니다.

남반구에서, 시계를 평평한 땅에 놓고 그림 12를 태양을 향하게하십시오. 남북 라인은 시간 핸드와 12시 사이의 각도를 반으로 나누는 선입니다.

참고로, iPhone의 가속도계는 회전을 추적하지 않으므로 위치와 방향의 6 축 관성 추적을 수행 할 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top