如何使用CLGeocoder反转地理编码大陆?

时间:2012-01-01 22:41:35

标签: objective-c cocoa-touch ios5

令人惊讶的是,我无法在所有正确位置搜索30分钟内找到任何有意义的信息。这是可疑的,我认为我做错了什么。 我想补充一点,解决方案应该是不需要第三方代码或web服务..

2 个答案:

答案 0 :(得分:5)

目前你是如何使用CLGeocoder的?没有看到一些代码,我们可以建议......

但是,如果您尝试获取有关用户所在位置或位置所在位置的信息,可以使用此信息:

{
  CLLocationManager *location = [[CLLocationManager alloc] init];
  [location setDelegate:self];
  [location startUpdatingLocation];
  [location setDesiredAccuracy:kCLLocationAccuracyBest];

  CLGeocoder *geocoder = [[CLGeocoder alloc] init];
  [geocoder reverseGeocodeLocation:location.location completionHandler:^(NSArray *placemarks, NSError *error) {
      CLPlacemark *placemark = [placemarks objectAtIndex:0];

      NSLog(@"%@ %@ %@ %@ %@ %@ %@ %@", placemark.country, placemark.ISOcountryCode, placemark.postalCode, placemark.administrativeArea, placemark.locality, placemark.subLocality, placemark.thoroughfare, placemark.subThoroughfare);

      [geocoder release];
      [location release];
    }];
}

答案 1 :(得分:1)

我实际上写了一个类别来解决CLPlacemark类中的这个警告。 它目前使用-ISOCountryCode属性将其映射到其对应的大陆。

https://github.com/Hecktorzr/Transcontinental