服务

REST 服务

@tianditu/services 类型化服务客户端

@tianditu/services 为天地图 REST 接口提供带类型声明的请求函数,与地图运行时解耦,不加载 SDK 脚本,在 Node 与浏览器中均可使用。

初始化

defineTianditu 接受浏览器端密钥:

import { defineTianditu } from "@tianditu/services";

const tianditu = defineTianditu({ tk: "你的浏览器端密钥" });

方法清单

方法参数说明
search(postStr)SearchPostStr地名搜索 V2.0(queryType: 1 普通搜索,含地铁公交)
drive(postStr)DrivePostStr驾车规划
transit(postStr)TransitPostStr公交规划
geoCoding(ds)GeoCodingDs地理编码
reverseGeoCoding(postStr)ReverseGeoCodingPostStr反地理编码
administrative(params)AdministrativeParams行政区查询
staticImage(params)StaticImageParams静态地图

请求与响应均有完整的 TypeScript 类型(SearchResultDriveResultTransitResultGeoCodingResultAdministrativeResult 等),字段错误在编译期报出。

示例:地名搜索

const result = await tianditu.search({
  keyWord: "北京站",
  queryType: 1,
  // 普通搜索同样必填视野参数
  level: 12,
  mapBound: "116.084,39.655,116.724,40.175",
  start: 0,
  count: 10,
});

if (result.status.infocode === 1000) {
  for (const poi of result.pois ?? []) {
    console.log(poi.name, poi.address, poi.lonlat);
  }
}

SearchResult.status.infocode:1000 正常,2001–2007 参数错误,3000 服务错误,3001 无数据。

实测

输入浏览器端密钥即可体验地名搜索,密钥只保存在当前浏览器:

服务示例加载中…
Copyright © 2026