2

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

用像Avinguda de Madrid 100这样的字符串测试它,我得到:

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

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

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

在此处输入图像描述 在此处输入图像描述

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

  • 选择转发选项卡(默认打开)。
  • 在文本字段中输入Avinguda de Madrid 100 。
  • 点击Geocode String按钮(不启用Include Hint Region)。

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

4

1 回答 1

0

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

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

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

于 2013-02-15T14:41:38.197 回答