我正在实施一个iphone应用程序,其中我想找到移动设备的方向。我不知道如何找到。可以帮我解决这个问题。提前做好准备。
答案 0 :(得分:0)
我假设你在谈论标题。这只适用于iPhone 3GS和即将推出的型号。
在您的位置管理器上调用startUpdatingHeading
方法,然后实施
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
从经理那里检索标题。
答案 1 :(得分:0)
如果您想要指南针方向,iPhone正在地图上旅行,请使用DC的答案。如果您想检测iPhone的摇晃和移动,请使用加速度计:
您创建一个类,或将类指定为<UIAccelerometerDelegate>
,然后实现didAccelerate方法。例如,该类可以是您现有的viewcontroller。
在此方法中,您可以通过分别检查acceleration.x,.y和.z来检测“重力拉动”相对于底部,左侧和进/出轴的方向。每个轴将具有从0.0到1.0的度量,并且它们一起形成长度为1的向量,该向量指向重力方向,基本上是它所保持的角度。例如,当面朝上躺在桌子上时,拉动将处于+ Z方向(“进入屏幕”轴)。
这是iPhone静止时的身体。如果摇动iPhone,矢量长度偏离1.0。您可以使用毕达哥拉斯定理计算向量长度,只需l = sqrt(x*x+y*y+z*z);
要启动加速度计测量,请使用此代码
UIAccelerometer *acc=[UIAccelerometer sharedAccelerometer];
acc.delegate=self;
acc.updateInterval=1/60;
如果你想每秒轮询60次。简单而有趣:)