gpt4 book ai didi

iphone - 使用 CLLocationManager 获取准确位置

转载 作者:可可西里 更新时间:2023-11-01 06:22:36 28 4
gpt4 key购买 nike

我开始摆弄 CLLocationManager 并且尝试使用下面的回调方法。我到外面在我的 iPhone 上测试它,在最初的几次更新中,我似乎得到了乱码值,就像突然间我的距离变成了 39 米,即使我没有移动任何地方。或者有时它会从 5 米开始,然后跳到 20 米,同样我也没有移动任何地方。我出去走走,从最初的起点开始的更新似乎“还可以”,然后当我往回走时,我又回到了原来的 39 米起点。我想知道我在下面做的是否正确。我还包含了我的 viewDidLoad 方法,我在其中初始化了 CLLocationManager 对象。

有没有办法确保我的第一个值是准确的?提前致谢。

- (void)viewDidLoad
{
[super viewDidLoad];
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
if (startingPoint == nil) {
NSLog(@"NIL starting point");
self.startingPoint = newLocation;
}

CLLocationDistance distance = [newLocation distanceFromLocation:startingPoint];
NSString *distanceString = [[NSString alloc] initWithFormat:@"%g m", distance];
distanceLabel.text = distanceString;
[distanceString release];

numberOfUpdates++;
NSString *countString = [[NSString alloc] initWithFormat:@"%d", numberOfUpdates];
countLabel.text = countString;
[countString release];
}

最佳答案

GPS 是一项不完美的技术。大气条件、卫星可用性(和位置)、天空能见度、附近物体(建筑物)反射的信号都会导致其固有的不准确性。尽管甚至有一个“准确度”值(通常 相当不错)- 即使这样也不是完全可靠的。

飞机不允许使用 GPS 进行精确进近 - 甚至它们的接收器也不够准确,并且它们需要其他技术(这些技术有其自身的问题)。

尝试运行标准的“ map ”应用程序并将其用作比较。我认为您的代码很好 - 它只是 GPS。

当然我这么说是因为我正在开发我自己的海上导航应用程序,我自己遇到了所有这些问题。

关于iphone - 使用 CLLocationManager 获取准确位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4115642/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com