0

好的,这就是我想要实现的,我需要你的想法:

  • 按名称/地址/等输入地理位置(例如London, Oxford Street 20
  • 获取点的经度/纬度

我的问题:

  • 你会怎么做呢?
  • 使用Google Maps API(这是我首先想到的)是我唯一的解决方案吗?

如果所使用的服务可以自由集成到商业应用程序中会更好 - 所以欢迎任何想法...... :-)

4

2 回答 2

2

您要做的基本上是地理编码。谷歌、必应和雅虎(以及更多)等主要地图提供商都提供某种形式的地理编码 API 供您使用。查看以下快速链接:

编辑:(刚刚看到objective-c标签)

请注意,这些是非本地解决方案。但是,提供的 API 通常是基于 REST 的(输出为 xml/json),您应该不难使用这些服务从应用程序中获取您想要的地理编码纬度。

于 2012-07-05T07:34:59.313 回答
1

为此有一个内置的 API。
对于 iOS 5 和更新版本,您可以使用CLGeocoder,对于旧版本,您需要使用一些外部库。

打电话

- (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler

您想要获取位置的位置。它异步运行,completionHandler您将获得一个包含所有可能的地址的地标数组,其中第一个是最准确的。正如苹果所说:

对于大多数地理编码请求,此数组应仅包含一个条目。但是,在指定地址无法解析到单个位置的情况下,前向地理编码请求可能会返回多个地标对象。

题外话:
只有我一个人首先想到的Oxford是“他对这个奇怪的十六进制值是什么意思?”

于 2012-07-05T07:28:34.887 回答