地理编码API发送的结果不一致

时间:2018-11-06 19:45:18

标签: google-maps google-geocoding-api

我在一个项目中使用了Google GeoCoding API,并且遇到了针对特定地址的结果不一致的情况。 有时,它针对同一地址发送单个结果,有时发送多个结果。 您能否确认这是否是Google的GeoCoding正常行为?

我已执行如下所述的readyAPI脚本,发现与“ 100 E Shore Dr US 60404”地址不一致。

获取-https://maps.googleapis.com/maps/api/geocode/json?address=address&key=GoogleKey 以下是ReadyAPI脚本的代码:

log.info(“地址传递”)

log.info地址

log.info(“由Google格式化的地址”)

log.info格式的地址

log.info(“由Google响应”)

log.info响应

log.info(“在插值范围的情况下部分匹配”)

log.info部分匹配

结果输出:

结果1:

IST 2018年11月8日13:12:49 INFO:100 E Shore Dr US 60404

IST 2018年11月8日13:12:49周四:INFO:格式化地址

IST 2018年11月8日13:12:49信息:美国伊利诺伊州60404乔利埃特

IST 2018年11月8日13:12:49信息:部分比赛

IST 2018年11月8日13:12:49信息:正确

IST 2018年11月8日13:12:49信息:响应

IST 2018年11月8日13:12:49信息:近似

结果2:

IST 11月08日星期四13:13:14 INFO:地址

IST 2018年11月8日13:13:14 INFO:100 E Shore Dr US 60404

IST Nov 2018年11月8日13:13:14 INFO:格式化地址

IST 2018年11月8日13:13:14 INFO:美国伊利诺斯州60611,沃尔顿街100 E,美国

IST 11月08日星期四13:13:14 INFO:部分比赛

IST 11月08日星期四13:13:14 INFO:

IST 2018年11月8日13:13:14信息:响应

IST 2018年11月8日星期三13:13:14:INFO:ROOFTOP

1 个答案:

答案 0 :(得分:2)

我可以看到您得到两个不同的结果,它们都不符合初始搜索字符串'100 E Shore Dr US 60404'。

首先,您应该提供美国官方邮政服务使用的格式的搜索字符串。在您的示例中,您缺少位置名称,因此地址不完整,可能会在Geocoding API中导致不同的意外结果。

在Google Maps Platform常见问题解答中查看建议:

https://developers.google.com/maps/faq#geocoder_queryformat

根据USPS.com,完整地址应为'100 EASTSHORE DR SHOREWOOD IL 60404'。

enter image description here

因此,如果我在地址解析API中搜索此地址,则会得到预期的结果'100 Eastshore Dr,Shorewood,IL 60404,USA'

您可以在Geocoder工具中看到它:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D100%2520EASTSHORE%2520DR%2520%2520SHOREWOOD%2520IL%252060404

enter image description here

我希望这会有所帮助!