如何从没有Internet连接的位置获取地址

时间:2014-07-02 13:27:42

标签: ios iphone location cllocation

我正在开发一款应用,以便在手机数据关闭或未连接WiFi时获取当前位置。

我使用了以下代码,但我只获得了纬度和经度,而不是地址位置。

所以我需要指导来实施它。

     - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
           NSLog(@"didUpdateToLocation: %@", newLocation);
            CLLocation *currentLocation1 = newLocation;

    if (currentLocation1 != nil)
     {
        strLet=[NSString stringWithFormat:@"%f",currentLocation1.coordinate.latitude];
        strLong=[NSString stringWithFormat:@"%f",currentLocation1.coordinate.longitude];
        NSLog(@"%f",currentLocation1.coordinate.longitude);
       NSLog(@"%f",currentLocation1.coordinate.latitude);
     }  
}

感谢。

1 个答案:

答案 0 :(得分:4)

为了您的信息,通过使用GPS,我们可以获得没有有效互联网连接的当前位置,但它

(1)需要很长时间才能获得位置;(2)在建筑物或街道内无法正常工作

--- 更新(问题更新)---

通过使用Apple的原生iOS API,您可以使用MKReverseGeocoder(在MapKit框架中提供)或CLGeocoder(在CoreLocation框架中可用)进行反向地理编码。 但是,这需要有效的互联网连接才能从服务器获取数据。

因此,如果没有互联网使用原生iOS API 无法进行反向地理编码

但是,通过使用以下第三方库,您可以获得有限的可用地址信息(国家/地区名称和ISO代码):
IOS-Offline-GeoCoder
ios-offline-reverse-geocode-country