【问题标题】:CLGeocoder returning different placemarks on iOS 5.1 and 6.0 simulatorsCLGeocoder 在 iOS 5.1 和 6.0 模拟器上返回不同的地标
【发布时间】:2012-11-18 06:05:43
【问题描述】:

我正在使用CLGeocoder 方法geocodeAddressString:completionHandler: 来获取地标。

Avinguda de Madrid 100 之类的字符串对其进行测试,我得到:

  • 6.0 模拟器中的 3 个结果
  • 5.1 模拟器中有 1 个结果

这在 iPhone 和 iPad 模拟器上都会发生。

我认为我的代码是错误的,但 Apple 的 Geocoder Demo project 也有这个问题,您可以在下面的两个屏幕截图中看到(注意两个屏幕截图中的点指向的结果):

如果你想在苹果的示例代码上重现它,

  • 选择转发标签(默认打开)。
  • 在文本字段中输入 Avinguda de Madrid 100
  • 点击地理编码字符串按钮(不启用包含提示区域)。

你以前有过这个问题吗?我错过了什么吗?还是应该改用 Google Places API?

【问题讨论】:

    标签: ios ios-simulator geocoding core-location clgeocoder


    【解决方案1】:

    iOS 6 SDK 同时支持 iOS5 和 iOS6。 MapKit 在 iOS5 上使用 Googles API,在 iOS6 上使用他们自己的 Apple API。 (依赖于系统版本,而不是SDK版本。)

    我猜,iOS 6 SDK 的CLGeocoder 在 5.1 模拟器中使用 Google API,在 6.0 模拟器中使用 Apple API。因此,我会期待不同的结果。

    如果CLGeocoder 在这两种情况下都使用 Apple 服务,我仍然预计会由于上述更改而有所不同。

    【讨论】:

      猜你喜欢
      • 2014-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2015-09-28
      • 2014-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多