地图帮开放平台
API 文档 / 其他接口 / 地址 POI 精确定位(模糊地址 → C1–C5 决策)

地址 POI 精确定位(模糊地址 → C1–C5 决策)

POST address/poi-resolve 100 流量豆 / 次 在线调试

接口说明

模糊/脏地址落到可解释 POI:C1–C5 分类码 + 选用 POI + 坐标 + 判定理由;宁可诚实拒落不静默错点

输入示例:地址:广东省广州市黄埔区广本(可附校正地址、限定城市、匹配模式)
返回示例:返回 C1–C5 采纳决策:如 C1 精确匹配「广汽本田汽车有限公司」+ 坐标 + 可读判定理由;精确匹配(默认)下 C4/C5 诚实拒落不给错点,可选模糊匹配(match_mode=fuzzy)在 C4/C5 时采用地图检索首位回填坐标。

请求地址

POSThttps://cloud.dtbgis.com/api/v1/address/poi-resolve

鉴权方式

在 HTTP Header 中携带你的 API Key:

X-API-Key: 你的API-Key

每个 API Key 绑定已购接口与流量豆,调用成功扣减对应流量豆;调用失败(参数错误等)不扣流量豆。未开通该接口返回 403,流量豆不足返回 429。

请求参数

本接口为 POST 请求:以下参数以 JSON 对象放在请求体中提交(Content-Type: application/json),不拼接在 URL 上。

参数必填说明示例 / 默认值
address 必填 待定位地址文本(可为脏地址/口语别名,≤512 字符) 广东省广州市黄埔区广本
corrected_address 可选 可选的校正地址(≤512 字符):流程中已由人工修订或上游系统校正过的更干净地址(错字修正、补全楼名/公司全称等)
传入后不会覆盖 address——原地址始终作为第一路主查询检索;接口会额外并发发起第二路检索(校正地址),两路候选一起交给规则引擎打分分类,可显著提升 C1/C2 命中率。与 address 去空白后相同时自动忽略、不发起第二路检索;不传时照常只按 address 检索
—
city_hint 可选 限定城市(市名或 adcode),提供时检索启用 citylimit —
match_mode 可选 匹配模式。exact=精确匹配(默认):C4/C5 诚实拒落不给点;fuzzy=模糊匹配:C4/C5 且有召回时采用地图检索首位回填 poi(decision=采用检索结果) exact

请求示例

curl -X POST \
  -H "Content-Type: application/json" \
  -H "X-API-Key: 你的API-Key" \
  -d '{"address": "广东省广州市黄埔区广本", "match_mode": "exact"}' \
  "https://cloud.dtbgis.com/api/v1/address/poi-resolve"

返回结果说明

本接口返回统一 JSON 信封结构:

{
  "code": 200,
  "msg": "success",
  "data": { ... },
  "quota_remaining": 9999
}
字段说明
code业务状态码,200 表示成功
msg状态描述,成功为 success
data查询结果对象,字段见下方「data 字段说明」
quota_remaining本次调用后剩余可用流量豆数量

顶层信封另含 attribution(数据来源声明)。坐标为 GCJ-02(location 为 lng,lat 文本,lng / lat 为拆好的数值)。status=upstream_error 时不计费、retryable=true,可安全重试。match_mode=fuzzy(模糊匹配)时 C4/C5 若有召回则采用地图检索首位回填 poi(class_code 保持 C4/C5,decision=采用检索结果),计费口径与 exact 相同。

响应示例

{
  "code": 200,
  "msg": "success",
  "quota_remaining": 98765,
  "attribution": "POI 候选来自高德开放平台关键词检索;分类判定为地图帮规则引擎结果,C2/C3 为代理/上卷点,落库前请按业务口径抽检",
  "data": {
    "class_code": "C1",
    "class_name": "精确匹配",
    "decision": "采纳",
    "poi": {
      "id": "B00FWZ0EXH",
      "name": "广汽本田汽车有限公司",
      "address": "广本路1号",
      "location": "113.448792,23.121623",
      "lng": 113.448792,
      "lat": 23.121623,
      "type": "公司企业;公司;公司",
      "adname": "黄埔区",
      "cityname": "广州市"
    },
    "score": 110.0,
    "why": "exact_c;alias~q",
    "reason": "候选「广汽本田汽车有限公司」与查询地址强一致",
    "status": "resolved",
    "retryable": false,
    "trace_id": "9f2c1a7b3e5d4a08",
    "candidates": null,
    "source_pois": [
      {
        "name": "广汽本田汽车有限公司",
        "address": "广本路1号",
        "location": "113.448792,23.121623",
        "type": "公司企业;公司;公司",
        "adname": "黄埔区",
        "cityname": "广州市"
      }
    ]
  }
}

data 字段说明

字段类型说明示例
class_codestringC1–C5 决策码,各码判定口径见下方「class_code 判定原理」;upstream_error 时为 null;fuzzy 兜底不升级仍为 C4/C5C1
class_namestring分类中文名;fuzzy 模式 C4/C5 兜底时为「模糊无法找到 · 采用地图检索首位」/「无法找到 · 采用地图检索首位」精确匹配
decisionstring采纳 / 未找到 / 不采纳;fuzzy 模式 C4/C5 兜底时为「采用检索结果」采纳
poiobject选用 POI;C4 / C5 为 null(match_mode=fuzzy 且有召回时回填检索首位)—
idstringPOI 唯一 IDB00FWZ0EXH
namestringPOI 名称广汽本田汽车有限公司
addressstringPOI 地址广本路1号
locationstring经纬度 lng,lat(GCJ-02)113.448792,23.121623
lngfloat经度(数值)113.448792
latfloat纬度(数值)23.121623
typestringPOI 分类(大类;中类;小类)公司企业;公司;公司
adnamestring区县名称黄埔区
citynamestring城市名称广州市
scorenumber规则引擎打分(可解释审计用)110.0
whystring打分特征标签(exact_c;alias~q 等);fuzzy 模式 C4/C5 兜底时为 source_firstexact_c;alias~q
reasonstring人可读判定理由(质检/客服友好)候选「广汽本田汽车有限公司」与查询地址强一致
statusstringresolved / upstream_error(不计费可重试)resolved
retryablebool仅 upstream_error 为 truefalse
trace_idstring审计追踪 ID,客诉排查时请一并提供9f2c1a7b3e5d4a08
candidatesarrayoptions.return_candidates=true 时返回打分候选摘要(≤5,各含 name/source/score/why);默认 null[{name, source, score, why}]
source_poisarray上游关键词检索原始 POI,按召回顺序最多 10 条;已去掉厂商 POI id(含嵌套 children/parent)及 photos/childtype 原始字段。始终返回列表,无召回时为空数组[{name, address, location, type}]
namestring原始 POI 名称广汽本田汽车有限公司
addressstring原始 POI 地址广本路1号
locationstring经纬度 lng,lat(GCJ-02)113.448792,23.121623
typestringPOI 分类(大类;中类;小类)公司企业;公司;公司

class_code 判定原理

分类码是决策层结论(检索 → 打分 → 分类判定),不是又一次地理编码; status=upstream_error 时为 null(不计费可重试)。判定顺序:先在全部候选 (address 第一路 + 校正地址第二路)中取最高分者(同分时行政锚点类型优先, 再取距离更近者),再按下表原理归类。

代码名称decision是否回填 poi判定原理
C1精确匹配采纳是候选得分越过主阈值,且与查询侧强一致——名称/别名/地址与传入的 address 对齐;或校正侧名称一致且无更强的近似/冲突信号。可直接落库。
C2近似匹配采纳是同样越过主阈值,但一致性来自近似信号:近字匹配(错字);行政区前缀 不同、企业本体相同(如「广东三韩电子」→「东莞三韩电子」);或仅校正 地址侧地址对齐、名称未对齐(同址代理点)。此外得分未过主阈值但达到 近似下限、且带近字/地址对齐/本体同名等弱信号时也归 C2。建议抽检。
C3模糊地址-取上一级采纳是(上一级锚点)无法直接命中目标本体,改为上卷可靠的上一级锚点:最高分候选本身是 政府机关/居委会/村委会/乡镇级等行政锚点类型且查询并非精确同名; 查询含多地标/修饰成分(如「大三巴威尼斯」)时取与查询核心词公共前缀 足够长的主地标;C5 在默认 rollup_enabled=true 下上一级行政锚点上卷 成功时也转 C3。建议抽检。
C4模糊地址-无法找到未找到否(fuzzy 有召回时回填检索首位,码不升级)存在相关候选但都不够唯一(多解/冲突);或仅校正页部分命中且前导 限定词与候选属地不符(典型如串镇同名连锁)——宁可保守不乱选。 C4 的多解冲突不会被上一级上卷覆盖;exact 下「诚实拒落」本身就是结论。
C5无法找到不采纳否(fuzzy 有召回时回填检索首位,码不升级)检索无任何候选,或候选均无合理本体/同名污染,连「相关但不够唯一」 都算不上。默认先尝试上一级行政锚点上卷(成功则转 C3),仍失败才落 C5。

公交站/地铁站默认不作为采纳落点(options.reject_transit_stops 可关闭); options.rollup_enabled 默认 true,仅 C5 会尝试上一级行政锚点上卷。

match_mode=fuzzy(模糊匹配)下 C1–C3 与 exact 完全一致;仅最终仍为 C4/C5 且 source_pois 非空时用检索第一条回填 poi,class_code 保持 C4/C5 不升级,decision=采用检索结果。

落库建议:C1 可直接落库;C2/C3 为近似/上卷点,建议按业务口径抽检; C4/C5 在 exact(精确匹配)下明确拒落——「这个地址不能可靠落点」 本身就是有价值的结论,可转人工复核或改用 fuzzy 兜底。

错误码

错误以统一结构返回:{"detail": {"code": 429, "msg": "..."}}

HTTP含义常见原因 / 处理
400参数错误缺少必填参数或格式不合法
401鉴权失败API Key 缺失、不存在、已停用或已过期
403权限不足该 API Key 未开通此接口,请购买流量豆
429流量豆不足 / 限流流量豆用完需续费;或超过速率(60 秒 200 次)
404资源不存在路径错误,或查询对象无数据
503服务暂时不可用服务暂时异常,请稍后重试

完整错误码见 文档首页 · 错误码总览。