ios - 为什么iphone获取网络定位位置这么快?

标签 ios core-location

Iphone 的核心位置对我来说太神奇了。

我写了一些测试代码来调用 startlocationupdating 函数来获取位置:

(void)doContinuousPositioning:(UIButton*)发件人 { self.bPersistent = YES;

if (self.bPersistent) {
    _tv_Info.hidden = YES;
    _tableView.hidden = NO;
}

if (self.locationManager) {
    [self.locationManager stopUpdatingLocation];
    self.locationManager = nil;
}

self.locationManager = [[CLLocationManager alloc]init];
[self.locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
self.locationManager.delegate = self;
self.locationManager.distanceFilter = kCLDistanceFilterNone;
[self.locationManager requestAlwaysAuthorization];
[self.locationManager startUpdatingLocation];

_beginTime = [Global getTimeStamp];
[self.locationManager setAllowsBackgroundLocationUpdates:YES];
self.locationManager.pausesLocationUpdatesAutomatically = NO;

结果:

2017-08-29 17:13:13.081 |开始时间:2017-08-29 17:13:13.052

结束时间:2017-08-29 17:13:13.080

耗时:28毫秒

long:113.046818, alt:21.571278

海拔:38.528896

水平精度:65.000000

垂直精度:23.415365

类(class):-1.000000

速度:-1.000000

楼层:0

我发现无论你在哪里,位置返回的速度都非常快,函数运行时间在 60 毫秒或更短。

而且定位的精度也很高,一般在60米左右;

即使我从 A 地方移动到 B 地方,A 与 B 相差 10 公里

位置返回的速度也这么快,厉害了gggggggg!

我知道第一个位置是网络位置类型。

所以问题是:

iphone怎么回的这么快这么高的网络位置?

在我看来,网络位置来源来自cell或wifi ap;

获取cell id需要2ms,至少需要2s获取手机wifi ap。

第二个问题是:

iphone能否使用cell id计算高精度位置?

Iphone可以在20ms内获取wifi ap吗?

最佳答案

How can iphone return back so fast and high network position?

Core Location 是一个系统服务。它在后台运行并缓存结果。如果它有最近的位置,例如另一个应用程序(或您的应用程序)最近请求它,它几乎会立即提供。如果这些回调可用,则后续回调可能会提供更准确的结果,例如带 GPS 锁。

60 米的分辨率并不是真正的高精度,它可能来自 Wifi 和 Cell 信息的组合。

Can the iphone use the cell id to calculate a high accuracy position?

据我所知,手机信号塔信息用于最不准确的位置,其次是 Wifi 信息,最高精度来自 GPS/GLONASS。

这些信息源可以(并且很可能)由 Core Location 组合以提高准确性。

Iphone can get the wifi ap in 20ms?

前面说过,Core Location是一个系统服务,它可能会在20ms内响应你,但你无法知道位置数据是什么时候真正计算出来的,用了多少时间。

关于ios - 为什么iphone获取网络定位位置这么快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45951931/

相关文章:

iphone - Facebook IOS SDK 试图制作单例类?

ios - 通用深度链接问题

ios - 自定义 UIButton 圆角在突出显示时变为方形?

swift - 从 CLLocationManager (Google Maps API) 获取用户位置的问题

ios - 'CLLocationCoordinate2D' 与协议(protocol) 'decodable'/'encodable' 的冗余一致性

ios - 检查 Wi-Fi 是否可用但 iOS 上没有互联网

ios - 在表格 View 单元格中添加向下箭头

iPhone核心位置: Custom pin image disappears when map type changes

ios - 终止/暂停时显着更改位置 API 的行为?

iOS 崩溃核心位置 CFBasicHashCreateCopy?