地址自动补全

针对部分输入给出建议,针对延迟和拼写容错进行了优化。每条建议都带有坐标,因此大多数集成都无需第二次调用。

GEThttps://api.mygeocode.com/v1/autocomplete

参数

参数类型说明
q必填字符串用户目前已输入的内容。至少 2 个字符,最多 128 个。
limit可选整数1 到 10。默认为 5。
countries可选字符串以逗号分隔的 ISO 3166-1 alpha-2 代码,用于将建议限制在这些国家。
proximity可选字符串lat,lon。附近的建议排在前面。强烈建议用于地图搜索框。
types可选字符串以逗号分隔的 addressstreetpostcodecityregioncountrypoi 的子集。默认为全部。
lang可选字符串ISO 639-1 代码。默认为 en
key可选字符串API 密钥(如果未通过请求头发送)。

示例

$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/autocomplete?q=oxford+st&proximity=51.515,-0.141&limit=3"
const url = new URL("https://api.mygeocode.com/v1/autocomplete");
url.searchParams.set("q", "oxford st");
url.searchParams.set("proximity", "51.515,-0.141");
url.searchParams.set("limit", "3");

const { suggestions } = await (await fetch(url, { headers: { "X-API-Key": "YOUR_KEY" } })).json();
suggestions.forEach((s) => console.log(s.text, s.lat, s.lon));
import requests

r = requests.get("https://api.mygeocode.com/v1/autocomplete",
                 params={"q": "oxford st", "proximity": "51.515,-0.141", "limit": 3}, headers={"X-API-Key": "YOUR_KEY"}, timeout=5)
for s in r.json()["suggestions"]:
    print(s["text"], s["lat"], s["lon"])
响应
{
  "status": "ok",
  "query": "oxford st",
  "suggestions": [
    { "text": "Oxford Street, London W1, United Kingdom", "lat": 51.515419, "lon": -0.141588, "type": "street", "precision": "street", "place_id": "gb.street.0a91e2c4" },
    { "text": "Oxford Street, Southampton SO14, United Kingdom", "lat": 50.899021, "lon": -1.399537, "type": "street", "precision": "street", "place_id": "gb.street.77b4d1f0" },
    { "text": "Oxford Street Station, London W1, United Kingdom", "lat": 51.515167, "lon": -0.141251, "type": "poi", "precision": "house", "place_id": "gb.poi.3c5a8e19" }
  ]
}

响应字段

字段类型说明
suggestions[].text字符串显示文本,单行,使用 lang 指定的语言。
suggestions[].lat, lon数字坐标。始终存在。
suggestions[].type, precision字符串与正向地理编码相同。
suggestions[].place_id字符串传给 /v1/forward?place_id=... 可获取完整的地址组成部分和边界范围。该调用计为一次请求。

注意事项

以其他服务商格式进行的同一查询

如果您已有针对这些服务商之一编写的代码,请保留它:兼容替换主机接受相同的路径和参数,并以该服务商的响应结构作答,背后由此端点提供支持。请参阅兼容替换主机的工作原理

服务商主机路径
Google Maps 平台gapi.mygeocode.com/maps/api/place/autocomplete/json?input=...
Bing Maps REST 服务bing.mygeocode.com/REST/v1/Autosuggest?query=...
HERE 地理编码与搜索here.mygeocode.com/v1/autosuggest?q=...&at=lat,lng
/v1/autocomplete?q=...
Mapbox Geocodingmapbox.mygeocode.com/search/searchbox/v1/suggest?q=...
LocationIQlocationiq.mygeocode.com/v1/autocomplete?q=...
Geoapifygeoapify.mygeocode.com/v1/geocode/autocomplete?text=...
TomTom Searchtomtom.mygeocode.com/search/2/search/{query}.json?typeahead=true

错误

q 少于 2 个字符,或 types 包含未知值时,返回 400 invalid_request