服务
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 类型(SearchResult、DriveResult、TransitResult、GeoCodingResult、AdministrativeResult 等),字段错误在编译期报出。
示例:地名搜索
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 无数据。
实测
输入浏览器端密钥即可体验地名搜索,密钥只保存在当前浏览器:
服务示例加载中…