ios - 在 iPhone 中获取错误的 GPS 位置

标签 ios iphone objective-c gps location

使用 iOS 中的核心位置框架工作尝试了不同的方法,但无法通过 GPS 获得准确位置。即使是苹果 map 和谷歌地图也没有指向正确的位置。查看我正在使用的代码片段:

MyLocation class header file

#import <Foundation/Foundation.h>
#import <CoreLocation/CoreLocation.h>

@interface MyLocation : NSObject<CLLocationManagerDelegate> {
CLLocationManager *locationManager;
}

MyLocation class m file

  #import "MyLocation.h"
    #import <CoreTelephony/CTCarrier.h>
    #import <CoreTelephony/CTTelephonyNetworkInfo.h>

    @implementation MyLocation

    @synthesize curLocation;

    -(id)init{

    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
    locationManager.distanceFilter = 0;

    //locationManager.distanceFilter = kCLDistanceFilterNone;
    //locationManager.desiredAccuracy = kCLLocationAccuracyBest;

    [self updateLocation];

    curLocation = CGPointZero;
    return self;

    }

    -(void)updateLocation{

    [locationManager startUpdatingLocation];

    }

    - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {




    curLocation  = CGPointMake( newLocation.coordinate.latitude, newLocation.coordinate.longitude);

    }

最佳答案

正如 krzy 所说,如果 Apple Maps 提供相同类型的结果,那么您正在处理手机上 GPS 的限制。 (这不是很好。)

您可以采取一些措施来获得更好的结果:

当您第一次向位置管理器询问位置更新时,您得到的第一个更新通常是 GPS 上次处于事件状态时的“陈旧”读数。它可以是几小时、几天或几周前的。检查时间戳并丢弃超过几秒的读数。

接下来,检查您获得的读数的水平精度。 “准确性”最好命名为“斜率”或“困惑圈”。您的实际位置可以是具有该半径的圆内的任何位置。高“准确度”读数意味着读数不是很准确。您可能希望丢弃精度读数 > 100 米的读数。

关于ios - 在 iPhone 中获取错误的 GPS 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23828719/

相关文章:

ios - 在 ios 中实现 'search' 或排序

ios - 使用 safari 打开收到的 url

iphone - 支持嵌入标记和注释/注释的音频/视频文件格式?

objective-c - 你如何在 Swift 中访问 [NSObject 类]?

iphone - Cocos2D iPhone - 从 CCLayer 在主场景上运行方法

ios - 为什么在 ModelController.h 中使用@class DataViewController?

iphone - iOS quartz 2D : draw an image simulating y axis rotation?

iphone - 在 iPad 应用程序的 UIScrollview 中用两根手指滑动

ios - AFNetworking 单元测试

ios - UIimageView 蒙版成菱形