-1

我正在寻找最新的latitude并正在longitude使用GPS (没有互联网)

现在我想在reverse geocoding没有互联网的情况下通过 GPS 使用该纬度和经度。

我已经通过互联网连接成功实现了反向地理编码。

这是我实现的代码:-

CLGeocoder * geoCoder = [[CLGeocoder alloc] init];
[geoCoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray *placemarks, NSError *error) {

    NSString * location = ([placemarks count] > 0) ? [[placemarks objectAtIndex:0] locality] : @"Not Found";

    CLPlacemark *placemark = [placemarks objectAtIndex:0];

    NSString *MyAddress = @"";
    MyAddress = [[placemark.addressDictionary objectForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "];
    NSLog(@"address is %@", MyAddress);
}];

我对此进行了搜索,但找不到任何解决方案。

我怎样才能做到这一点?

谢谢。

4

2 回答 2

0

你不能没有 internet ,因为这个方法 ( reverseGeocodeLocation: completionHandler:) 将指定的位置数据异步提交到geocoding server并返回。

阅读该CLGeocoder Class ReferenceCLGeocoder的内容。

而且,如果您考虑一下,您将需要一个数据库才能获取地址,如果不是从远程数据库中,它应该在哪里收集该信息。

于 2013-07-10T11:59:06.497 回答
0

见这里:https ://stackoverflow.com/a/4419113/2446155

那里提到的任何方法都可以使用。请记住,openstreetmap.org 一次只允许您下载一小部分数据。Cloudmate.com 允许您一次下载大量数据,但它会使您的应用程序非常庞大。

您还可以考虑通过 wifi 下载和存储CLGeocoder用户周围特定区域的所有数据,然后能够在没有互联网的情况下使用它,但我不确定这是否可能。

于 2013-07-10T12:02:57.487 回答