我们的业务是一个物流系统,我们需要对用户输入的地址进行校验合法性,目前对接的是谷歌的 maps.googleapis.com 接口,但是这个接口对小国家的支持性很差,至少 100 多个国家是不支持的,而我们业务目前是全球的,但优点是特别快,300ms 就能返回结果。 有大佬做过这种全球地址校验么?想咨询一下 下面是我的请求例子
curl --location --request GET 'https://maps.googleapis.com/maps/api/geocode/json?address=3659200,ISRAEL&key=xxxxx' \
--header 'User-Agent: Apifox/1.0.0 ( https://apifox.com)' \
--header 'Accept: */*' \
--header 'Host: maps.googleapis.com' \
--header 'Connection: keep-alive'
{
"results": [
{
"address_components": [
{
"long_name": "Israel",
"short_name": "IL",
"types": [
"country",
"political"
]
}
],
"formatted_address": "Israel",
"geometry": {
"bounds": {
"northeast": {
"lat": 33.33280500000001,
"lng": 35.896244
},
"southwest": {
"lat": 29.47969999999999,
"lng": 34.2673436
}
},
"location": {
"lat": 31.046051,
"lng": 34.851612
},
"location_type": "APPROXIMATE",
"viewport": {
"northeast": {
"lat": 33.33280500000001,
"lng": 35.896244
},
"southwest": {
"lat": 29.47969999999999,
"lng": 34.2673436
}
}
},
"partial_match": true,
"place_id": "ChIJi8mnMiRJABURuiw1EyBCa2o",
"types": [
"country",
"political"
]
}
],
"status": "OK"
}
1
ratazzi 73 天前
全球做不到的,也就能验证个邮编
Google 也有地址验证 api ,但好像也就美国数据比较好,其实就是 USPS 的 如果自己做到话 加拿大,澳大利亚也有数据 欧洲也就 德国适合,英国验证个邮编也就行了 还有些国家邮编都没有 结论是做这个比做整个物流系统都复杂,更不可能做全球,还会遇到大量文字的坑 |
2
clarkethan 73 天前
我之前做了一个自用,基于 osm 和其他可以拿到的数据源,自己清洗提取,只能说,勉强能用,小点的国家,错误率很高,每周自动更新一次数据,更新数据的负担也不小
|
5
ratazzi 73 天前
做这个其实没人买账的,投入太大,实际下单的数据其实很糟糕的,客户下单频繁报错会骂人的,没人会为了能拦截几个错误地址买单
|
6
daxiongz 73 天前
手机号/邮箱这些更重要吧,可以联系到用户,地址错了就错了吧 ,还有手抖写错的
|