获取给定位置的坐标

时间:2012-07-05 07:07:20

标签: objective-c cocoa-touch google-maps geocoding latitude-longitude

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

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

我的问题:

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

如果使用的服务可以自由地集成到商业应用中,那就更好了 - 所以任何想法都是受欢迎的......: - )

2 个答案:

答案 0 :(得分:2)

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

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

请注意,这些是非原生解决方案。但是,提供的API通常是基于REST的(输出为xml / json),您应该很难使用这些服务从应用程序中获取所需的gecoded lat-long。

答案 1 :(得分:1)

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

致电

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

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

  

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

非主题:
我是唯一一个首先想到Oxford的人是“他对这个奇怪的Hex值有什么意义?”