2013-07-10 106 views
-1

我找到當前latitudelongitude使用GPS(沒有互聯網)使用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); 
}]; 

我已經搜索這個,但找不到任何解決辦法。

我該怎麼做?

謝謝。

+0

http://stackoverflow.com/questions/14588778/offline-reverse-geocoding-on-ios相同作爲您的問題 – prasad

+0

該問題的答案是不是一個偉大的只是供參考。 –

回答

0

你不能沒有互聯網,因爲這種方法(reverseGeocodeLocation: completionHandler:)異步提交指定的位置數據到geocoding server並返回。

閱讀CLGeocoder Class ReferenceCLGeocoder class

如果你仔細想想,你需要有一個數據庫才能得到一個地址,如果不是從遠程數據庫那裏收集這些信息,它應該從何處收集信息。

0

在這裏看到:https://stackoverflow.com/a/4419113/2446155

任何方法提到會有工作。請記住,openstreetmap.org只允許您一次下載一小部分數據。 Cloudmate.com可讓您一次下載大量數據,但它會讓您的應用程序變得非常龐大。

你也可以考慮下載並存儲所有的CLGeocoder數據,通過wifi在用戶周圍的特定區域,然後能夠使用它沒有互聯網,但我不知道這是可能的。