Mapbox Geocoding 兼容替换
较早的 v5 Geocoding API 和当前的 v6 端点都在 mapbox.mygeocode.com 上响应。结果是 GeoJSON FeatureCollection,其 context 数组、place_type 值和坐标顺序与 Mapbox 客户端所依赖的完全相同。
只需更换一个主机名
| 原始主机 |
|
|---|---|
| 改用 | mapbox.mygeocode.com |
| 密钥参数 | access_token(可选:任何地址不使用密钥每天也有 2,500 次请求;如需使用额度、套餐和使用记录,请在此填入您的 My Geocode 密钥) |
之前
curl "https://api.mapbox.com/geocoding/v5/mapbox.places/1%20Market%20St%20San%20Francisco.json?access_token=YOUR_MAPBOX_TOKEN"之后
curl "https://mapbox.mygeocode.com/geocoding/v5/mapbox.places/1%20Market%20St%20San%20Francisco.json?access_token=YOUR_MYGEOCODE_KEY"端点
| mapbox.mygeocode.com 上的路径 | 功能 | 底层服务 |
|---|---|---|
/geocoding/v5/mapbox.places/{query}.json | 正向地理编码,v5 | 正向地理编码 |
/geocoding/v5/mapbox.places/{lon},{lat}.json | 逆地理编码,v5 | 逆地理编码 |
/search/geocode/v6/forward?q=... | 正向地理编码,v6 | 正向地理编码 |
/search/geocode/v6/reverse?longitude=...&latitude=... | 逆地理编码,v6 | 逆地理编码 |
/search/searchbox/v1/suggest?q=... | Search Box 建议 | 地址自动补全 |
响应示例
这是上述请求返回的内容。字段名、嵌套和类型与 Mapbox 一致。只有背后的数据来自我们。
来自 mapbox.mygeocode.com 的响应(v5)
{
"type": "FeatureCollection",
"query": ["1", "market", "st", "san", "francisco"],
"features": [
{
"id": "address.mg.us.4d2e8b10",
"type": "Feature",
"place_type": ["address"],
"relevance": 1,
"properties": { "accuracy": "rooftop" },
"text": "Market Street",
"place_name": "1 Market Street, San Francisco, California 94105, United States",
"center": [-122.394626, 37.793858],
"geometry": { "type": "Point", "coordinates": [-122.394626, 37.793858] },
"address": "1",
"context": [
{ "id": "neighborhood.mg.us.fidi", "text": "Financial District" },
{ "id": "postcode.mg.us.94105", "text": "94105" },
{ "id": "place.mg.us.sanfrancisco", "wikidata": "Q62", "text": "San Francisco" },
{ "id": "region.mg.us.ca", "short_code": "US-CA", "text": "California" },
{ "id": "country.mg.us", "short_code": "us", "text": "United States" }
]
}
],
"attribution": "My Geocode, https://www.mygeocode.com/terms/"
}细节与差异
每天前 2,500 次请求无需密钥。如需使用 My Geocode 密钥,请将其放在原来 Mapbox 密钥的位置:access_token 查询参数。X-API-Key 请求头、Authorization: Bearer 和 HTTP Basic 认证(以密钥作为用户名)也适用于每个主机,因此以自有方式进行认证的客户端库无需任何修改即可继续工作。
响应中的版权声明、许可名称、条款和隐私链接是我们的,而不是原服务商的。其他所有内容都保持原有结构。
- v5 Places 和 v6 search 端点都已接入,Search Box suggest 端点也同样支持。
- 与 Mapbox 一样,使用最多包含 1,000 个查询对象(正向
q或逆向longitude/latitude)的 JSON 数组调用POST /search/geocode/v6/batch,会返回{"batch": [...]},每个查询对应一个 FeatureCollection;并且与 Mapbox 的计数方式一样,每个查询计为一个请求。
如果您的客户端依赖于此处未列出的字段或行为,请告诉我们。兼容性缺口通常很小,因此会很快修复。