正向地理编码 API
发送一个地址、地名、邮政编码或类似“Kings Cross 附近的咖啡店”这样的模糊描述,即可获得坐标、规范化后的地址、地址各组成部分、边界框,以及告诉您该坐标点可信程度的精度级别。
示例
$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/forward?q=221B+Baker+Street,+London&limit=1"支持自由格式文本。如果您已经有了各个部分,也可以使用结构化查询:street=221B Baker Street&city=London&country=gb。使用 country=gb,ie 将结果限定在一个或多个国家,使用 proximity=lat,lon 使结果偏向某个坐标点,或使用 bounds 使结果偏向某个区域框。
{
"status": "ok",
"query": "221B Baker Street, London",
"results": [
{
"formatted": "221B Baker Street, London NW1 6XE, United Kingdom",
"lat": 51.523767,
"lon": -0.158555,
"type": "address",
"precision": "house",
"confidence": 0.97,
"components": {
"house_number": "221B",
"road": "Baker Street",
"neighbourhood": "Marylebone",
"city": "London",
"state": "England",
"postcode": "NW1 6XE",
"country": "United Kingdom",
"country_code": "gb"
},
"bounds": { "north": 51.523917, "south": 51.523617, "east": -0.158305, "west": -0.158805 }
}
]
}返回内容
| 字段 | 含义 |
|---|---|
formatted | 完整地址,按照该国书写地址的方式排列。 |
lat, lon | 十进制度数,WGS 84。最多六位小数。 |
type | 匹配到的类型:address、street、postcode、city、region、country 或 poi。 |
precision | house、street、postcode 或 admin。请参阅覆盖范围。 |
confidence | 0 到 1。根据查询内容,我们有多确定这就是您要找的地点。与精度无关:一个城市查询可以在精度为 admin 时以 1 的置信度匹配。 |
components | 拆分为各组成部分的地址,每个国家都使用相同的键名。只返回实际存在的部分。 |
bounds | 匹配要素的边界框:建筑物、街道、邮政编码区域或城市。 |
使用场景
清洗客户地址
在用户注册时进行地理编码,并将 formatted 和 components 与客户输入的内容一起保存。拒绝低于 precision: street 的结果,并请客户检查地址。
在地图上标注记录
以每秒 50 次的速度批量处理门店或房产地址的 CSV 文件,并将其标注在地图上。bounds 字段为每条记录提供合适的缩放级别。
按地点搜索
将“Hackney 的公寓”转换为一个边界框,并用它查询您自己的数据库。type 会告诉您用户输入的是城市、街道还是建筑物。
准确性
门牌级结果取决于该国是否存在地址数据,而并非所有地方都有。覆盖范围页面列出了我们在 249 个国家和地区中各自能达到的最佳级别。无法匹配门牌号时,我们会依次退回到街道、邮政编码、再到地区级别,precision 字段会说明是哪一级。我们绝不会把国家中心点标记为地址返回。
价格和限制
一次调用计为一个请求,无论返回多少条结果(使用 limit 最多 10 条)。每个密钥每天有 2,500 次免费请求;超出后,每次请求从预付额度中扣除 €0.0001,使用 Unlimited 密钥(每月 €50)则不收费。价格详情。
正在从其他服务商迁移?Google、Bing、HERE、Mapbox 以及其他兼容替换主机会以这些服务商的格式响应正向地理编码请求。