【问题标题】:geocoding address into coordinates in iphone将地址地理编码为iphone中的坐标
【发布时间】:2012-05-30 22:45:11
【问题描述】:

我正在尝试使用以下代码将地址地理编码为坐标:

CLGeocoder *geocoder = [[CLGeocoder alloc] init];
    [geocoder geocodeAddressString:@"6138 Bollinger Road, San Jose, United States" completionHandler:^(NSArray* placemarks, NSError* error){
                     for (CLPlacemark* aPlacemark in placemarks)
                     {
                         // Process the placemark.
                         NSString *latDest1 = [NSString stringWithFormat:@"%.4f",aPlacemark.location.coordinate.latitude];
                         NSString *lngDest1 = [NSString stringWithFormat:@"%.4f",aPlacemark.location.coordinate.longitude];
                         lblDestinationLat.text = latDest1;
                         lblDestinationLng.text = lngDest1;
                     }
                 }];

我已经尝试了很多次,但调试器从不进入块,我无法获得位置。有人可以帮我吗?

问候
潘卡伊

【问题讨论】:

  • 非常感谢,花了半天时间后,我从您的问题中得到了解决方案。因此,您的问题需要一个 UP 和 Star 标记。再次感谢。
  • 如何将经度和纬度保存在此块外的变量中?因为我需要将它们传递给另一个控制器。
  • @user3722523 您必须在块外定义一个变量并将其标记为__block。现在您将能够访问块内的变量,并且可以将值保存到该变量中。
  • @pankaj 我正在使用 swift 并且 __block 不再存在。

标签: iphone ios ios5 geocoding


【解决方案1】:

好吧,我发现了我的错误。 代码是正确的并且工作完美。我一直在通过调试器处理它,并试图找出调试器没有进入块的原因。但是现在我发现调试器此时没有进入该块。获取位置值所需的时间很少。它是异步完成的,因此我无法找到它,并且由于崩溃后没有值而导致崩溃。我已将我的代码发布块移动到块内,现在一切正常。

【讨论】:

    【解决方案2】:

    我刚刚运行了那个确切的代码,它按预期工作。确保您有有效的互联网连接。

    尝试在字符串上添加一个 NSLog,看看它是否被调用。

    NSLog(@"lat: %@, lng: %@", latDest1, lngDest1);
    

    你是在模拟器还是设备上运行?

    【讨论】:

      【解决方案3】:

      从 iOS4.0 开始,块是 Objective C 的新特性。您可以将一个块想象为在同一功能块中工作的委托方法。至于调用任何委托方法需要时间,具体取决于条件,当块完成其地理编码工作时,它会以同样的方式执行其中的代码。您可以在苹果文档中阅读有关 Block 的更多信息或阅读 http://www.raywenderlich.com/9438/how-to-use-blocks-in-ios-5-tutorial-part-2

      您也可以在 GITHUB https://github.com/Mangesh20/geocoding 上查看我的存储库

      【讨论】:

        猜你喜欢
        • 2012-07-04
        • 2012-05-21
        • 1970-01-01
        • 1970-01-01
        • 2020-01-16
        • 2013-05-06
        • 2016-09-09
        • 2023-04-04
        • 1970-01-01
        相关资源
        最近更新 更多