【问题标题】:CLLocation not showing accurate resultCLLocation 未显示准确结果
【发布时间】:2017-02-08 22:15:12
【问题描述】:

我正在开发一个离线应用程序,我必须在其中显示用户经过的路径,并且为此使用 MKMapview。每当我从 didUpdateLocations 方法获取 CLLocation 坐标时,它会显示不令人满意的结果 bcoz 如果用户位置在路上,那么它会显示一些米外的位置,比如说建筑物位置,当我绘制完整的用户行进路径时,该路径将交叉这么多建筑物,但用户在道路上而不是在建筑物上行驶。那么有什么方法可以纠正这个位置坐标(不使用互联网),以便它显示准确的位置。


如果没有办法做到这一点,那么任何其他出租车应用程序如何显示司机在路上的当前位置。我不想为此使用 Google 地图。

【问题讨论】:

  • 你在使用 kCLLocationAccuracyBest 吗?
  • 是的,locationManager.desiredAccuracy = kCLLocationAccuracyBest;
  • 那你可以试试 kCLLocationAccuracyBestForNavigation.. 或者你可以阅读这个答案:stackoverflow.com/a/1197775/3108877
  • @Rroobb- 这不能解决我的问题

标签: objective-c swift mkmapview cllocationmanager cllocation


【解决方案1】:

Location Manager 将返回多个位置。您可以添加一些代码来检查返回的位置是否适合您。这是一个例子:

-(void) locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations
{
    if([locations lastObject].horizontalAccuracy <= (some number) )
        [locationManager stopUpdatingLocation];
}

【讨论】:

  • 我已经在我的应用程序中使用此代码 if (newLocation.horizo​​ntalAccuracy 6.0) { return; }
猜你喜欢
  • 1970-01-01
  • 2012-04-28
  • 2018-08-18
  • 1970-01-01
  • 2015-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-05-11
相关资源
最近更新 更多