gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 06:21:45 27 4
gpt4 key购买 nike

使用 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/

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