iOS核心位置标题和课程更改

问题描述 投票:-4回答:1

我正在开发一个应用程序,其中显示飞机飞行时的位置和方向。我还想通过使用增强现实来显示正在飞行的城市的标签。我已经完成了所有设置,当它静止不动或驾驶汽车时工作正常,但是当我在飞机上使用它时发生了一些奇怪的事情。当门打开或关闭时坐在门口时,位置图标的标题显示设备处于横向模式时的正确方向(主页按钮到右侧)。如果我将设备向右旋转,则平面图标会向右旋转适当的数量。与左相同。这很重要,因为当我向右或向左旋转手机并打开相机以获得增强现实时,正确的城市会显示在正确的位置。即使我们在跑道上滑行,这也完全没问题。但是当我们取消功能改变时。现在无论以何种方式改变设备的旋转,平面图标始终指向平面移动的方向。我试图弄清楚为什么会发生这种情况并且想知道这是因为在较慢的速度下静止不动或滑行核心位置是使用HEADING而当我们取消足够的信息时正在收集使用COURSE信息。我不会发生这种情况,因为我在法拉第笼子里,因为它在登机口或滑行时不起作用。如果它实际上是使用标题/课程信息我如何补偿所以城市标签是他们应该在哪里而不是不断移动到飞机的前面?我得到了用户的纬度,经度和海拔以及正确的城市标题,所以一切正常。这只是标题/课程问题。

这里有一些代码只是为了表明我有这些事情。

locationManager = [[CLLocationManager alloc] init];

    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
    locationManager.distanceFilter = kCLDistanceFilterNone;
    [locationManager startUpdatingLocation];
    [locationManager startUpdatingHeading];

我可以使用陀螺仪来判断手机指向的方向并将其添加到标题/路线中,以便在速度超过一定量时将标签放在正确的位置吗? 有人遇到过这个问题并解决了吗?

ios objective-c core-location
1个回答
0
投票

这一切都得到了Apple的充分记录。如果您快速行动,位置管理员会使用您的运动方向来确定航向,并忽略手机的姿态。如果您想独立使用手机,则必须使用Core Motion。

© www.soinside.com 2019 - 2024. All rights reserved.