Google在地址近似方面做得非常出色。你正在寻找的是地址验证。 SmartyStreets提供了一个地址验证API,它的结果是确凿的。下面是该地址的SmartyStreets API返回:
输入:
https://api.qualifiedaddress.com/street-address/?street=16160%20Frederick%20Rd&street2=&city=gaithersburg&state=md&zipcode=20877&candidates=10&auth-token=YOUR_AUTHENTICATION_TOKEN_HERE
输出:
[
{
"input_index": 0,
"candidate_index": 0,
"delivery_line_1": "16160 Frederick Rd",
"last_line": "Gaithersburg MD 20877-4011",
"delivery_point_barcode": "208774011604",
"components": {
"primary_number": "16160",
"street_name": "Frederick",
"street_suffix": "Rd",
"city_name": "Gaithersburg",
"state_abbreviation": "MD",
"zipcode": "20877",
"plus4_code": "4011",
"delivery_point": "60",
"delivery_point_check_digit": "4"
},
"metadata": {
"record_type": "S",
"county_fips": "24031",
"county_name": "Montgomery",
"carrier_route": "C004",
"congressional_district": "08",
"latitude": 39.12162,
"longitude": -77.17619,
"precision": "Zip9"
},
"analysis": {
"dpv_match_code": "Y",
"dpv_footnotes": "AABB",
"dpv_cmra": "N",
"dpv_vacant": "N",
"ews_match": false
}
}
]
注意, “dpv_match_code” 是 “Y”。这就是美国邮政发言人所说的验证交货点 - 你知道这是一个真正的地址。 SmartyStreets使用官方当前的USPS数据,并且是CASS认证的软件提供商。
该API对非营利,教育机构和低使用率用户免费。一旦您收到SmartyStreets的结果,您就可以使用Google进行地理编码。充分披露:我是SmartyStreets的开发人员。
编辑:添加纬度/经度字段(新发布)
心中已经已经集成Smarty的,街道变成了我的地址验证算法。我甚至可以在电话中与你谈论这种可能性 - 非常棒的电话支持!我测试了一些其他的服务,你的解析器是我遇到的最好的。我与Smarty-Streets有关的问题是它不能返回经度和纬度,所以如果我从smarty-streets中得到某些东西,我必须回去尝试从其他地方获取经度和纬度。 – 2012-02-22 16:54:05
了解。对不起,我不认识你! :)在某个时刻,敬请关注经纬度是希望不会太遥远的未来。 – mdwhatcott 2012-02-22 18:09:53
更新!稍微延迟一下,但正如你所看到的:SmartyStreets现在执行地理编码(并且有一段时间)。 – Matt 2012-10-01 03:57:36