2010-06-04 2 views

답변

0

제목에 대해 이야기하고 있다고 가정합니다. 이것은 iPhone 3GS 및 다가오는 모델에서만 작동합니다.

전화 사용자의 위치 관리자에 startUpdatingHeading 방법 및

- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading

는 관리자의 제목을 검색하기 위해 구현.

0

아이폰이지도상에서 움직이는 나침반 방향을 원하면 dc의 대답을 참조하십시오. iPhone의 흔들림과 움직임을 감지하려면 가속도계를 사용하십시오.

클래스를 만들거나 클래스를 <UIAccelerometerDelegate>으로 지정한 다음 didAccelerate 메소드를 구현하십시오. 클래스는 예를 들어 기존 뷰 컨트롤러 일 수 있습니다.

이 방법을 사용하면 accelerator.x, .y 및 .z를 각각 확인하여 아래쪽, 왼쪽 및 인/아웃 축에 대해 '중력이 끌어 오는 방향'을 감지 할 수 있습니다. 각 축은 0.0에서 1.0까지의 측정 값을 가지며 함께 중력 방향 인 길이 1의 벡터를 형성합니다.이 벡터는 본질적으로 그 각도를 유지합니다. 예를 들어, 표를 위로 향하게 놓으면 당김은 + Z 방향 ('화면'축 방향)이됩니다.

이것은 iPhone이 안심할 때입니다. iPhone을 흔들면 벡터 길이가 1.0에서 벗어납니다. 당신은 단순히

l = sqrt(x*x+y*y+z*z); 가속도계 측정을 시작하려면, 피타고라스의 정리와 벡터의 길이를 계산 당신이 그것을 초당 60 번 폴링하려면이 코드를

UIAccelerometer *acc=[UIAccelerometer sharedAccelerometer]; 
acc.delegate=self; 
acc.updateInterval=1/60; 

를 사용할 수 있습니다. 간단하고 재미있는 :)

관련 문제