objective-c - CLLocation 没有显示准​​确的结果

标签 objective-c swift mkmapview cllocationmanager cllocation

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


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

最佳答案

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

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

关于objective-c - CLLocation 没有显示准​​确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39789746/

相关文章:

objective-c - 无法使用 addObject 方法添加到 NSMutableArray

objective-c - 具有淡入淡出或模糊效果的 UIView 边框

objective-c - BOOL ivar 是否应该是允许另一个类设置它的指针?

ios - 全局是外部的,但没有外部或弱联系

c++ - 在 SWIFT 中使用 C++ FFT 代码

iphone - MKMapView 在regionDidChangeAnimated 中返回错误的latitudeDelta 和longitudeDelta

ios - 如何在 ios 中隐藏 ImageView ?

ios - XIB 未在 UIScrollView 中正确加载

ios - 将 MKMap 分解为图 block ——图 block 太小

ios - MKAnnotationView 标注的自定义字体