技术博客
行政区划查询 level 参数怎么选?省级到村委会 5 级行政层级对照

行政区划查询 level 参数怎么选?省级到村委会 5 级行政层级对照

作者: 万维易源
2026-08-31
行政区划查询level行政层级
# 行政区划查询 level 参数怎么选?省级到村委会 5 级行政层级对照 > 接口 / 接入点:行政区划查询(apiCode 1149)· 区域查询 1149-1 · 免费服务 > 请求方式:POST / GET · 返回格式:JSON · 适用人群:初级 / 中级开发者 · 阅读时间:约 5 分钟 ## 核心要点 - `level` 是区域查询(1149-1)的**可选**参数(默认 2),取值 1~5,对应省 / 市 / 区县 / 乡镇 / 村委会。 - 设了 `level` 只是限定返回层级的「粒度」,真正定位靠必填的 `areaName`。 - 想查更细的层级(乡镇 / 村委会),优先用区域查询 + `level=4/5`,或子区域查询逐级下钻。 ## Why:level 到底管什么 新手常把 `level` 当成「查哪一级」的开关,结果设了 `level=3` 却只传一个模糊的 `areaName`,返回一堆不匹配的结果。`level` 的准确含义是:**在 `areaName` 命中的结果里,只返回指定行政级别的那一层**。选对 level,能减少无关数据、让结果更干净。 ## What:level 取值对照 | level | 行政级别 | 示例 areaName | 返回层级 | |-------|---------|--------------|---------| | 1 | 省级 | 广东省 | 省 | | 2 | 市级(默认) | 昆明市 | 市 | | 3 | 区县级 | 朝阳区 | 区 / 县 | | 4 | 乡镇级 | 玉龙纳西族自治县巨甸镇 | 镇 / 乡 | | 5 | 村委会级 | 某村委会 | 村委会 | > 注:子区域查询(1149-2)返回的 `level` 仅为 1~3,乡镇 / 村委会级建议用区域查询 + `level=4/5`。 ## How:按场景选 level ### Python ```python import requests APPKEY = "YOUR_APPKEY" def by_level(area_name, level): r = requests.get("https://route.showapi.com/1149-1", params={"appKey": APPKEY, "areaName": area_name, "level": str(level)}, timeout=10) return r.json()["showapi_res_body"]["data"] # 想拿「区县级」列表,就设 level=3 for item in by_level("北京市", 3): print(item["areaName"], item["id"], "level=", item["level"]) ``` ### cURL ```bash curl -X POST "https://route.showapi.com/1149-1?appKey=YOUR_APPKEY" \ -H "content-type: application/x-www-form-urlencoded" \ -d "level=3&areaName=%E5%8C%97%E4%BA%AC%E5%B8%82&page=1" ``` ### Node.js ```javascript fetch(`https://route.showapi.com/1149-1?appKey=YOUR_APPKEY&level=3&areaName=` + encodeURIComponent("北京市")) .then(r => r.json()) .then(d => d.showapi_res_body.data.forEach(i => console.log(i.areaName, i.id, "level=", i.level))) .catch(e => console.error(e)); ``` ## 返回示例(level=3 查「北京市」) ```json { "showapi_res_body": { "ret_code": 0, "data": [ {"areaName": "东城区", "id": "110101000000", "level": 3, "countyId": "110101000000", "parentId": "110100000000"}, {"areaName": "西城区", "id": "110102000000", "level": 3, "countyId": "110102000000", "parentId": "110100000000"} ], "allNum": 16, "maxSize": 20, "allPage": 1 } } ``` ## 进阶 / 边界 - `level` 不填默认 2(市级)。不传也能用,只是粒度不同。 - `areaName` 越完整,`level` 的过滤效果越明显;名字太短(如「北京」)可能跨级别命中多条。 - 乡镇 / 村委会级数据量大,`maxSize=20` 会分页,记得翻页。 ## FAQ **Q:设了 level 是不是就只返回那一级?** 在 `areaName` 命中的结果里,只返回指定层级的记录;但 `areaName` 本身要足够明确,否则仍可能跨级。 **Q:level 和 parentId 能一起用吗?** `level` 是区域查询(1149-1)的参数;`parentId` 是子区域查询(1149-2)的参数,二者分属不同接入点,不能混用。 **Q:想查村委会但 level=5 没结果?** 确认 `areaName` 写到了村委会层级的全称;若仍为空,可改用子区域查询从上级 `id` 逐级下钻。 **Q:level 默认是多少?** 默认 2(市级)。不传时按市级粒度返回。 ## 相关能力 / 下一步阅读 - [行政区划查询:5 分钟接入,从注册到第一条区划数据](https://www.showapi.com/guides/region-query-quickstart-1149) - [行政区划查询子区域查询实战:用 parentId 逐级下钻省→市→区→街道](https://www.showapi.com/guides/region-query-subregion-1149) - **本系列共 11 篇**:查看[行政区划查询指南总目录](https://www.showapi.com/guides/region-query-guides-1149)