是否有任何标准格式可以将地址字符串提供给Google GeoCoding API,以便在 Map 上获得最准确的结果 .
对于Eg . 以下查询未给出正确的结果 .
http://maps.googleapis.com/maps/api/geocode/xml?address=bloom,Bloomfield,CT,06002,USA&sensor=false
谢谢
Mandeep
是否有任何标准格式可以将地址字符串提供给Google GeoCoding API,以便在 Map 上获得最准确的结果 .
对于Eg . 以下查询未给出正确的结果 .
http://maps.googleapis.com/maps/api/geocode/xml?address=bloom,Bloomfield,CT,06002,USA&sensor=false
谢谢
Mandeep
5 回答
我相信建议的格式是:
显然,结果越不具体,您可以提供的信息就越少 .
在您的示例中,地理编码器正在搜索名为“bloom”的街道,其中在OH而不是CT中存在类似的匹配 . 从查询中删除'bloom'然后搜索返回Bloomfield,CT .
我发现答案不完整,缺乏来源 .
看这里:https://developers.google.com/places/documentation/autocomplete#place_autocomplete_responses
谷歌的 Map 自动完成API返回一个更简单的格式:“街道地址,城市,国家”现在您可以使用这样的字符串来搜索地址,它应该导致一个确切的结果 . 此外,如果您使用自动完成API,您将获得一个唯一标识符,可用于进一步的详细请求 .
街道地址的格式很大程度上取决于您实际所在的位置 . 在美国“门牌号码,街道方向,街道名称,街道后缀”可能有意义,在欧洲大部分地区它不会导致成功查询 .
欧盟大部分地区的地址都不同(通常是“街道名号后缀”),如“Kumpelstraat 25A”,“Psolevcu 331 / 26b”),我想如果我们看一些东部国家,我们会感到惊讶 .
因此,如果您将代码绑定到单个区域(美国,大多数欧盟),您可能很难对格式进行硬编码 .
如果您想拥有一个更灵活的系统,您需要找到目标受众的propper格式,或者查询googles API之一以自动获取正确的字符串 . 我链接的那个非常好,但需要一个API密钥,每天有一个免费的请求限制 .
Definition of Google address search:
address - 您希望以相关国家/地区的国家邮政服务使用的格式进行地理编码的街道地址 . 应避免使用其他地址元素,如公司名称和单位,套房或楼层号 .
https://developers.google.com/maps/documentation/geocoding/#geocoding
How should I format my geocoder queries to maximise the number of successful requests?
地理编码器旨在将街道地址映射到地理坐标 . 因此,我们建议您按照以下指南格式化地理编码器请求,以最大限度地提高查询成功的可能性:
根据有关国家的国家邮政服务使用的格式指定地址 .
请勿指定其他地址元素,例如商家名称,单位编号,楼层编号或套件编号,这些元素未包含在相关国家/地区的邮政服务所定义的地址中 .
尽可能使用房屋的街道编号而不是建筑物名称 .
优先使用街道号码寻址,尽可能指定交叉街道 .
不要提供'hints'等附近的地标 .
https://developers.google.com/maps/faq#geocoder_queryformat
我偶然发现了这个问题并找到了适用于我的解决方案:
我想通过使用组件过滤可以找到答案,请看:https://developers.google.com/maps/documentation/geocoding/#ComponentFiltering
Javascript中的一个例子:
无需避开公寓单位 . 这有效:
https://maps.googleapis.com/maps/api/geocode/xml?address=14202+N+42nd+St+Unit+301+33613
“Apt”,“Room”和“Suite”也可以使用
它们都返回301作为subpremise,并在“formatted_address”中显示为“#301” .
保罗送......