【问题标题】:How to reverse geocode the continent using CLGeocoder?如何使用 CLGeocoder 对大陆进行反向地理编码?
【发布时间】:2012-01-01 22:41:34
【问题描述】:

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

【问题讨论】:

    标签: objective-c cocoa-touch ios5


    【解决方案1】:

    您目前如何使用 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];
        }];
    }
    

    【讨论】:

    • 这将返回有关用户所在位置的信息。插入地理编码的位置显然可以是不同的位置。希望这会有所帮助,这就是您正在寻找的。​​span>
    • 我的代码是完全一样的——我订阅了位置管理器,从它那里得到一个瞬时的 CLLocation 并通过一些块代码,我得到一个地标,其中包含许多(好)东西,但令人惊讶的是没有大陆。我有点知道,它不存在,我希望有一些替代课程或解决方案。
    • 哦,好吧,不确定大陆,但我知道第 3 方反向地理编码效果很好。如果你想让我挖掘出来,可以返回一些有用的东西。
    • 哦,我不想浪费你的时间,无论如何,第 3 方解决方案都是一个诅咒,至少这些年来我有这种经验..这就是我希望内置类的原因.当他们的错误报告平台再次开始工作时,我会将其提交给 Apple。
    【解决方案2】:

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

    https://github.com/Hecktorzr/Transcontinental

    【讨论】:

      猜你喜欢
      • 2012-05-24
      • 1970-01-01
      • 2020-07-02
      • 2012-08-30
      • 1970-01-01
      • 2021-01-26
      • 2018-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多