2011-11-15 78 views
0

我使用Apple提供的反向地理编码(链接到本文后面的开发文档)。iOS5反向地理编码限制

我已经设置了这个与我目前的项目。当我触摸地图时,touchPoint转换为我用于反向地理编码的坐标。但问题是,当我对来自欧洲,北美和南美部分地区的地点进行地理编码时,我只能获得有关地址(街道,住宅号,国家等)的信息。在对来自非洲和亚洲的座标进行反向地理编码时,我无法获得此信息。

我使用了前向地理编码(一些在非洲和亚洲的随机地址)来检查是否可以找到所有这些信息。他们可以 - 前进的地理编码非常出色。

那么,我怎么能这样呢,当我用来自非洲和亚洲的坐标反向地理编码时,我没有得到地址信息?任何人都有同样的经历?

http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/LocationAwarenessPG/UsingGeocoders/UsingGeocoders.html#//apple_ref/doc/uid/TP40009497-CH4-SW1

+0

我找不到任何好的参考资料,但我怀疑苹果公司只有欧洲和北美的反向地理编码信息。苹果正在从谷歌转向TomTom,而TomTom在非洲和亚洲的市场份额并不十分强大。我想知道是否反向地理编码适用于澳大利亚地区? –

+0

这可能很好。 反向地理编码不适用于澳大利亚地区。只有城市名称会出现(街道,房屋,邮编等缺失)。 感谢您的评论亚当。 – asklausen

+0

对于俄罗斯来说,反向地理编码也可以(在iOS5之前它是非常不可靠的),除非你没有得到邮政编码(但得到街道/房子) – dkzm

回答

2

反向地理编码(参见错误消息返回kCLErrorGeocodeFoundPartialResult和kCLErrorGeocodeFoundNoResult)。很多时候,只有美国,欧洲和世界人口稠密的城市才会返回全面的反向地址信息。

发生kCLErrorGeocodeFoundPartialResult时,表示只有一部分反向地理编码信息可用。这可能是街道名称(个人地址,意思是house/bdlg或lot#)不可用。这可能是越来越少的信息,只是国名。

这是因为与Google一起使用,卫星只返回经纬度& lon。 Google或其他地图公司需要提供数据点和数据点地区信息(意思是经纬度和跨度,以便地址占用一个建筑物)。因为这些信息必须从世界各地的每一个城市获得,然后进行验证和输入数据 - 这是谷歌10多年来一直在积极开展的一项巨大工作。在这个时候,占地球多数的地球不到7%。再加上这个难题,美国和欧洲大部分地区在市政级别组织得比较完善,并有最新的地图和包裹/地段。世界上许多其他地区的情况也是如此。

因此,开发人员需要对可用信息进行筛选,并构建注释标注信息,以便从返回的有限信息中获得最大意义。再次,这可能只是国名。

此外,不要忘记海洋和内陆水域,因为如果你的用户在大湖或哈得逊河放置一个别针。

名称字段也有助于地标。

是的,最后,有很多杂耍来弄清楚如何最好地显示从反向地理编码查找返回的地点标记数据,但您的用户会感谢您尝试所有可能的想法。

以上信息以及完整的地理编码和部分地理编码国家列表位于Apple文档中。你会很惊讶地看到这些名单上有几个国家!