iPhone核心位置经纬度的准确性

Posted

技术标签:

【中文标题】iPhone核心位置经纬度的准确性【英文标题】:Accuracy of iPhone Core Location Lat and Long 【发布时间】:2012-05-03 12:32:00 【问题描述】:

我编写了一个非常基本的 iPhone 应用程序,每次我收到 CLLocation 更新时都会记录我的纬度和经度。它将这些新位置存储在 GPX 文件中,然后我可以将其加载到谷歌地图中作为路线覆盖。缩小时,路线看起来相当准确,但放大时,我的路线经常出现在我实际行驶的路边。一个典型的例子可能是位置更新发生在我接近一个路口时,然后在我转弯后再次发生。当这两个点连接起来时,我似乎已经离开了公路。有谁知道是否有办法提高这种准确性,或者将我的路线捕捉到实际道路本身?

我的更新代码如下:

- (void)locationUpdate:(CLLocation *)location 
   
////////////////////////////////////////////////////////
//Write to File
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *testFile = [documentsDirectory stringByAppendingPathComponent:@"routeplots.gpx"];

    BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:testFile];

    if(fileExists) 
        // get a handle to the file

        NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:testFile];

        // move to the end of the file
        [fileHandle seekToEndOfFile];

        NSString *data =[NSString stringWithFormat:@"\n<trkpt lat='%f' lon='%f'><name>%f</name></trkpt>", location.coordinate.latitude , location.coordinate.longitude , [location speed]];

        // move to the end of the file
        [fileHandle seekToEndOfFile];

        // convert the string to an NSData object
        NSData *textData = [data dataUsingEncoding:NSUTF8StringEncoding];

        // write the data to the end of the file
        [fileHandle writeData:textData];

        // clean up
        [fileHandle closeFile];


感谢您查看我的问题,詹姆斯

【问题讨论】:

看看this 你设置了desireAccuracy和distanceFilter吗?如果不试试这个:locationManager.desiredAccuracy = kCLLocationAccuracyBest; locationManager.distanceFilter = kCLDistanceFilterNone; 【参考方案1】:

将 desiredAccuracy 设置为 AccuracyBest 。 locationManager.desiredAccuracy = KCLLocationAccuracyBest。

【讨论】:

感谢您,我将尝试更改这些值并查看比较结果【参考方案2】:

看看这个由 APPLE 自己提供的sample application 你正在做什么。只需在设备中下载示例安装并了解他们的工作方式。

It Demonstrates how to draw a path using the Map Kit overlay, MKOverlayView, that follows and tracks the user's current location. The included CrumbPath and CrumbPathView overlay and overlay view classes can be used for any path of points that are expected to change over time. It also demonstrates what is needed to track the user's location as a background process.

希望对你有帮助。

【讨论】:

谢谢 Jennis,听起来很有希望 - 会看看的。谢谢你的时间。干杯,J

以上是关于iPhone核心位置经纬度的准确性的主要内容,如果未能解决你的问题,请参考以下文章

Lat,Long 值不准确到 iphone 中的当前位置

android中当前位置的准确经纬度

怎么查经纬度准确地点

使用 iPhone 的纬度和经度进行反向地理编码

苹果手机;使用 mapkit 处理纬度/经度十进制值

那些可以改变用户经纬度(无网络)的APP,如何得到准确的经纬度? [复制]