【发布时间】:2012-05-03 23:17:42
【问题描述】:
我可以通过CLGeocoder的reverseGeocodeLocation:completionHandler:方法成功获得结果(如locality、ISOcountryCode等)。
但是如何才能将地点与结果相匹配呢?
例如:如果结果的城市(地区)是Hangzhou City,我可以简单地通过使用来匹配它
if ([placemark.locality isEqualToString:@"Hangzhou City"]) {...}
但如您所知,有数百万个城市,不可能将城市名称一一获取并硬编码到我的应用程序中。
那么,有什么办法可以解决这个问题吗?或者是否存在任何框架?或者只有几个文件包含与CLGeocoder 的结果匹配的国家和城市名称?即使是模糊坐标匹配方案也可以(我的意思是,一个城市有自己的区域,我可以通过坐标确定城市,但我现在仍然需要得到每个城市的区域面积)。
部署目标iOS5.0
【问题讨论】:
-
你想得到什么数据?通常,我们为此使用谷歌地图 API...
-
@LordT 是的,我之前尝试过 GMaps API,同样的问题:数据是自定义的,我无法获取。所以我需要获取城市,然后将自定义数据添加到每个城市......当他/她到达一个城市时,用户将获得相应的数据。
-
你能解释一下你的目标是什么吗?您是否要遍历所有城市?您是否尝试存储用户访问城市的次数?
if (...){here}里面是什么。 -
@Patrick 只是想在用户到达另一个城市时向用户展示一些有趣的地方。例如在“杭州市”,这个地区有 3 个苹果,在“加利福尼亚”(不确定名称),这个地区有 5 个橙子。
-
我建议尝试对用户所在的城市进行地理编码以获得
CLPlacemark对象。然后遍历areasOfInterest。虽然我不知道感兴趣的区域是如何确定的,但至少值得一试。 CLPlacemark
标签: iphone ios geolocation core-location clgeocoder