@tianditu/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +68 -0
  3. package/dist/index.d.mts +662 -0
  4. package/dist/index.mjs +1617 -0
  5. package/package.json +53 -0
  6. package/types/base.d.ts +97 -0
  7. package/types/control/control.d.ts +55 -0
  8. package/types/control/copyright.d.ts +30 -0
  9. package/types/control/index.d.ts +6 -0
  10. package/types/control/mapType.d.ts +63 -0
  11. package/types/control/overviewMap.d.ts +64 -0
  12. package/types/control/scale.d.ts +17 -0
  13. package/types/control/zoom.d.ts +24 -0
  14. package/types/global.d.mts +2 -0
  15. package/types/index.d.ts +19 -0
  16. package/types/layer/gridlineLayer.d.ts +33 -0
  17. package/types/layer/index.d.ts +4 -0
  18. package/types/layer/tdt.d.ts +14 -0
  19. package/types/layer/tileLayer.d.ts +78 -0
  20. package/types/layer/wms.d.ts +24 -0
  21. package/types/map.d.ts +290 -0
  22. package/types/militarySymbols/base.d.ts +71 -0
  23. package/types/militarySymbols/control.d.ts +24 -0
  24. package/types/militarySymbols/entities.d.ts +547 -0
  25. package/types/militarySymbols/index.d.ts +4 -0
  26. package/types/militarySymbols/tools.d.ts +191 -0
  27. package/types/modular.d.ts +258 -0
  28. package/types/mousetool/circleTool.d.ts +32 -0
  29. package/types/mousetool/coordinatePickup.d.ts +28 -0
  30. package/types/mousetool/index.d.ts +8 -0
  31. package/types/mousetool/markTool.d.ts +40 -0
  32. package/types/mousetool/mousetool.d.ts +28 -0
  33. package/types/mousetool/paintBrushTool.d.ts +23 -0
  34. package/types/mousetool/polygonTool.d.ts +47 -0
  35. package/types/mousetool/polylineTool.d.ts +47 -0
  36. package/types/mousetool/rectangleTool.d.ts +28 -0
  37. package/types/overlay/circle.d.ts +67 -0
  38. package/types/overlay/cloudMarkerCollection.d.ts +50 -0
  39. package/types/overlay/contextMenu.d.ts +75 -0
  40. package/types/overlay/icon.d.ts +33 -0
  41. package/types/overlay/index.d.ts +13 -0
  42. package/types/overlay/infowindow.d.ts +59 -0
  43. package/types/overlay/label.d.ts +53 -0
  44. package/types/overlay/marker.d.ts +50 -0
  45. package/types/overlay/markerClusterer.d.ts +103 -0
  46. package/types/overlay/overlay.d.ts +109 -0
  47. package/types/overlay/polygon.d.ts +59 -0
  48. package/types/overlay/polyline.d.ts +47 -0
  49. package/types/overlay/rectangle.d.ts +57 -0
  50. package/types/overlay/svg.d.ts +19 -0
  51. package/types/service/administrativeDivision.d.ts +48 -0
  52. package/types/service/busLineSearch.d.ts +89 -0
  53. package/types/service/dataSources.d.ts +30 -0
  54. package/types/service/drivingRoute.d.ts +135 -0
  55. package/types/service/geocoder.d.ts +47 -0
  56. package/types/service/geolocation.d.ts +39 -0
  57. package/types/service/index.d.ts +9 -0
  58. package/types/service/localCity.d.ts +24 -0
  59. package/types/service/localSearch.d.ts +178 -0
  60. package/types/service/transitRoute.d.ts +132 -0
@@ -0,0 +1,109 @@
1
+ export {};
2
+
3
+ declare global {
4
+ namespace T {
5
+ /**
6
+ * 覆盖物选项
7
+ */
8
+ interface OverlayOptions {
9
+ /** 叠加层类型:Label 为 1、Marker 为 2、InfoWindow 为 3、Polyline 为 4、Polygon 为 5、Circle 为 6、Rectangle 为 7 */
10
+ type?: number;
11
+ }
12
+ /**
13
+ * 自定义覆盖物的构造类
14
+ */
15
+ class Overlay {
16
+ constructor(opts: any);
17
+ extend(opts: OverlayExtendOptions): Overlay;
18
+ }
19
+ /**
20
+ * 自定义覆盖物构造类参数
21
+ */
22
+ interface OverlayExtendOptions {
23
+ /** 构造函数时传递参数,对OverlayOptions属性值进行赋值 */
24
+ initialize(...arg: any): void;
25
+ /** 向地图上添加叠加物。当调用map.addOverLay时,API将调用此方法。自定义叠加物时需要实现此方法。自定义叠加物时需要将覆盖物对应的HTML元素返回 */
26
+ onAdd(map: Map): void;
27
+ /** 移除叠加物,释放覆盖物对象所占用的内存。自定义叠加物时需要实现此方法 */
28
+ onRemove(): void;
29
+ /** 当地图状态发生变化时,由系统调用对覆盖物进行绘制。自定义覆盖物需要实现此方法 */
30
+ update(): void;
31
+ /** 在地图上显示叠加层 */
32
+ show(): void;
33
+ /** 在地图上隐藏叠加层 */
34
+ hide(): void;
35
+ /** 判断叠加层是否隐藏,返回 true 表示当前叠加层是隐藏的,否则是处于显示状态 */
36
+ isHidden(): boolean;
37
+ /** 对OverlayOptions属性值赋值 */
38
+ setOptions(opt: JSON): void;
39
+ /** 返回叠加物所在的容器的标签 */
40
+ getElement(): HTMLElement;
41
+ }
42
+
43
+ /**
44
+ * 覆盖物公共类
45
+ */
46
+ class OverlayBase<E> {
47
+ /** 返回叠加层类型 */
48
+ getType(): number;
49
+ /** 返回叠加层所在的map对象 */
50
+ getMap(): Map;
51
+ /** 设置叠加层的偏移值 */
52
+ setOffset(offset: Point): void;
53
+ /** 返回叠加层的偏移值 */
54
+ getOffset(): Point;
55
+ /** 设置z-index */
56
+ setZIndex(zIndex: number): void;
57
+ /** 设置叠加层的显示透明度 */
58
+ setOpacity(opacity: number): void;
59
+ /** 返回加层的显示透明度 */
60
+ getOpacity(): number;
61
+ /** 添加事件监听函数 */
62
+ addEventListener<EE extends keyof E>(event: EE, handler: E[EE]): void;
63
+ /** 移除事件监听函数 */
64
+ removeEventListener<EE extends keyof E>(event: EE, handler: E[EE]): void;
65
+ /** 打开信息窗口 */
66
+ openInfoWindow(infowin: InfoWindow): void;
67
+ /** 关闭信息窗口 */
68
+ closeInfoWindow(): void;
69
+ /** 显示 */
70
+ show(): void;
71
+ /** 隐藏 */
72
+ hide(): void;
73
+ }
74
+ /**
75
+ * 覆盖物共有事件
76
+ */
77
+ interface OverlayEvents<T, LL, L = undefined> {
78
+ /** 点击叠加层后会触发此事件 */
79
+ click(e: OverlayEvent<T, LL, L>): void;
80
+ /** 双击叠加层后会触发此事件 */
81
+ dblclick(e: OverlayEvent<T, LL, L>): void;
82
+ /** 鼠标在叠加层上按下触发此事件 */
83
+ mousedown(e: OverlayEvent<T, LL, L>): void;
84
+ /** 鼠标在叠加层释放触发此事件 */
85
+ mouseup(e: OverlayEvent<T, LL, L>): void;
86
+ /** 鼠标离开叠加层时触发此事件 */
87
+ mouseout(e: OverlayEvent<T, LL, L>): void;
88
+ /** 当鼠标进入叠加层区域时会触发此事件 */
89
+ mouseover(e: OverlayEvent<T, LL, L>): void;
90
+ /** 移除叠加层时触发 */
91
+ remove(e: OverlayEvent<T, LL, L>): void;
92
+ }
93
+ /**
94
+ * 覆盖物共有事件参数
95
+ */
96
+ interface OverlayEvent<T, LL, L = undefined> {
97
+ /** 事件类型 */
98
+ type: string;
99
+ /** 叠加层对象 */
100
+ target: T;
101
+ /** 叠加层经纬度坐标 */
102
+ lnglat: LL;
103
+ /** 点聚合组件的点标注对象 */
104
+ layer: L;
105
+ /** 叠加层像素坐标 */
106
+ containerPoint: Point;
107
+ }
108
+ }
109
+ }
@@ -0,0 +1,59 @@
1
+ export {};
2
+
3
+ declare global {
4
+ namespace T {
5
+ class Polygon extends OverlayBase<PolygonEvents> {
6
+ /** 创建多边形覆盖物对象 */
7
+ constructor(points: LngLat[], opts?: PolygonOptions);
8
+ /** 设置多边形的点数组 */
9
+ setLngLats(lnglat: LngLat[]): void;
10
+ /** 返回多边形的点数组 */
11
+ getLngLats(): LngLat[];
12
+ /** 设置多边形边线的颜色 */
13
+ setColor(color: string): void;
14
+ /** 返回多边形边线的颜色 */
15
+ getColor(): string;
16
+ /** 设置多边形边线的宽度 */
17
+ setWeight(weight: number): void;
18
+ /** 返回多边形边线的宽度。 */
19
+ getWeight(): number;
20
+ /** 设置多边形边线是为实线或虚线 */
21
+ setLineStyle(style: PolylineOptions["lineStyle"]): void;
22
+ /** 返回当前多边形边线样式状态,实线或者虚线 */
23
+ getLineStyle(): string;
24
+ /** 设置多边形的填充颜色,参数为合法的CSS颜色值。当参数为空字符串时,多边形覆盖物填充颜色与边线颜色相同 */
25
+ setFillColor(color: string): void;
26
+ /** 返回多边形的填充颜色 */
27
+ getFillColor(): string;
28
+ /** 设置多边形的填充透明度。当参数为0时,多边形覆盖物将没有填充效果 */
29
+ setFillOpacity(opacity: number): void;
30
+ /** 返回多边形的填充透明度 */
31
+ getFillOpacity(): number;
32
+ /** 返回多边形的地理区域范围 */
33
+ getBounds(): LngLatBounds;
34
+ /** 启用多边形编辑功能 */
35
+ enableEdit(): void;
36
+ /** 禁用多边形编辑功能 */
37
+ disableEdit(): void;
38
+ /** 是否启用多边形编辑功能,true表示启用,false表示禁止 */
39
+ isEditable(): boolean;
40
+ }
41
+
42
+ interface PolygonOptions {
43
+ /** 多边形边线颜色。default:"#0000FF" */
44
+ color?: string;
45
+ /** 多边形边线的宽度,以像素为单位。default:3 */
46
+ weight?: number;
47
+ /** 多边形边线的透明度(范围0-1 之间)。default:0.5 */
48
+ opacity?: number;
49
+ /** 多边形填充颜色。当参数为空时,多边形覆盖物将没有填充效果。default:"#0000FF" */
50
+ fillColor?: string;
51
+ /** 多边形填充的透明度(范围0-1 之间)。default:0.2 */
52
+ fillOpacity?: number;
53
+ /** 多边形边线的样式(solid或dashed)。default:"solid" */
54
+ lineStyle?: "solid" | "dashed";
55
+ }
56
+
57
+ type PolygonEvents = OverlayEvents<Polygon, LngLat[]>;
58
+ }
59
+ }
@@ -0,0 +1,47 @@
1
+ export {};
2
+
3
+ declare global {
4
+ namespace T {
5
+ class Polyline extends OverlayBase<PolylineEvents> {
6
+ /** 创建折线覆盖物对象 */
7
+ constructor(points: LngLat[], opts?: PolylineOptions);
8
+ /** 设置折线的点数组 */
9
+ setLngLats(lnglat: LngLat[]): void;
10
+ /** 返回折线的点数组 */
11
+ getLngLats(): LngLat[];
12
+ /** 设置折线的颜色 */
13
+ setColor(color: string): void;
14
+ /** 返回折线的颜色 */
15
+ getColor(): string;
16
+ /** 设置折线的宽度 */
17
+ setWeight(weight: number): void;
18
+ /** 返回线的宽度 */
19
+ getWeight(): number;
20
+ /** 设置折线是为实线或虚线 */
21
+ setLineStyle(style: PolylineOptions["lineStyle"]): void;
22
+ /** 返回当前折线样式状态,实线或者虚线 */
23
+ getLineStyle(): string;
24
+ /** 返回折线的地理区域范围 */
25
+ getBounds(): LngLatBounds;
26
+ /** 启用线编辑功能 */
27
+ enableEdit(): void;
28
+ /** 禁用线编辑功能 */
29
+ disableEdit(): void;
30
+ /** 是否启用线编辑功能,true表示启用,false表示禁止 */
31
+ isEditable(): boolean;
32
+ }
33
+
34
+ interface PolylineOptions {
35
+ /** 折线颜色。default:"#0000FF" */
36
+ color?: string;
37
+ /** 折线的宽度,以像素为单位。default:3 */
38
+ weight?: number;
39
+ /** 折线的透明度(范围0-1 之间)。default:0.5 */
40
+ opacity?: number;
41
+ /** 折线的样式(solid或dashed)。default:"solid" */
42
+ lineStyle?: "solid" | "dashed";
43
+ }
44
+
45
+ type PolylineEvents = OverlayEvents<Polyline, LngLat[]>;
46
+ }
47
+ }
@@ -0,0 +1,57 @@
1
+ export {};
2
+
3
+ declare global {
4
+ namespace T {
5
+ class Rectangle extends OverlayBase<RectangleEvents> {
6
+ /** 创建矩形覆盖物对象 */
7
+ constructor(bounds: LngLatBounds, opts?: RectangleOptions);
8
+ /** 设置矩形的显示范围 */
9
+ setBounds(bounds: LngLatBounds): void;
10
+ /** 返回矩形的地理区域范围 */
11
+ getBounds(): LngLatBounds;
12
+ /** 设置矩形边线的颜色 */
13
+ setColor(color: string): void;
14
+ /** 返回矩形边线的颜色 */
15
+ getColor(): string;
16
+ /** 设置矩形边线的宽度 */
17
+ setWeight(weight: number): void;
18
+ /** 返回矩形边线的宽度 */
19
+ getWeight(): number;
20
+ /** 设置矩形边线是为实线或虚线 */
21
+ setLineStyle(style: PolylineOptions["lineStyle"]): void;
22
+ /** 返回当前矩形边线样式状态,实线或者虚线 */
23
+ getLineStyle(): string;
24
+ /** 设置矩形的填充颜色,参数为合法的CSS颜色值。当参数为空字符串时,矩形覆盖物填充颜色与边线颜色相同 */
25
+ setFillColor(color: string): void;
26
+ /** 返回矩形的填充颜色 */
27
+ getFillColor(): string;
28
+ /** 设置矩形的填充透明度。当参数为0时,矩形覆盖物将没有填充效果 */
29
+ setFillOpacity(opacity: number): void;
30
+ /** 返回矩形的填充透明度 */
31
+ getFillOpacity(): number;
32
+ /** 启用矩形编辑功能 */
33
+ enableEdit(): void;
34
+ /** 禁用矩形编辑功能 */
35
+ disableEdit(): void;
36
+ /** 是否启用矩形编辑功能,true表示启用,false表示禁止 */
37
+ isEditable(): boolean;
38
+ }
39
+
40
+ interface RectangleOptions {
41
+ /** 矩形边线颜色。default:"#0000FF" */
42
+ color?: string;
43
+ /** 矩形边线的宽度,以像素为单位。default:3 */
44
+ weight?: number;
45
+ /** 矩形边线的透明度(范围0-1 之间)。default:0.5 */
46
+ opacity?: number;
47
+ /** 矩形填充颜色。当参数为空时,矩形覆盖物将没有填充效果。default:"#0000FF" */
48
+ fillColor?: string;
49
+ /** 矩形填充的透明度(范围0-1 之间)。default:0.2 */
50
+ fillOpacity?: number;
51
+ /** 矩形边线的样式(solid或dashed)。default:"solid" */
52
+ lineStyle?: "solid" | "dashed";
53
+ }
54
+
55
+ type RectangleEvents = OverlayEvents<Rectangle, LngLatBounds>;
56
+ }
57
+ }
@@ -0,0 +1,19 @@
1
+ export {};
2
+
3
+ declare global {
4
+ namespace T {
5
+ class SVG {
6
+ /** 根据传入padding参数创建用于绘制SVG标签的容器。 */
7
+ constructor(opts?: SVGOptions);
8
+ /** 根据传入的字符串,只创建标准的SVG标签元素。 */
9
+ create(name: string): SVGElement;
10
+ /** 根据屏幕坐标的数组拼接类似的"M..L..L.."字符串,用于生成标签的路径数据。 */
11
+ pointsToPath(points: Point[], closed: boolean): string;
12
+ }
13
+
14
+ interface SVGOptions {
15
+ /** SVG容器的范围相对地图视图容器的大小扩展缩小区域,例如:0.1表示地图视图每个方向扩大0.1倍的范围。default:0.1 */
16
+ padding?: number;
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,48 @@
1
+ export {};
2
+
3
+ declare global {
4
+ namespace T {
5
+ /** 此类用于获取行政区划信息 */
6
+ class AdministrativeDivision {
7
+ /** 创建一个获取行政区划的实例 */
8
+ constructor();
9
+
10
+ /** 根据检索词发起检索(官方回调参数标注为 Function) */
11
+ search(
12
+ config: AdministrativeDivisionOptions,
13
+ callback: (result: AdministrativeDivisionResult) => void,
14
+ ): void;
15
+ }
16
+
17
+ interface AdministrativeDivisionOptions {
18
+ /** 查询行政区划的名称 */
19
+ searchWord: string;
20
+ /** 查询类型:0 根据 code 查询、1 根据名称查询 */
21
+ searchType: number;
22
+ /** 是否需要下一级信息 */
23
+ needSubInfo?: boolean;
24
+ /** 是否需要所有子节点 */
25
+ needAll?: boolean;
26
+ /** 是否需要行政区划范围 */
27
+ needPolygon?: boolean;
28
+ /** 是否需要上一级所有信息 */
29
+ needPre?: boolean;
30
+ }
31
+
32
+ /** AdministrativeDivision 的检索结果,没有构造函数 */
33
+ interface AdministrativeDivisionResult {
34
+ /** 返回状态码:100 正常、101 没有查到结果(官方类型标注笔误为 numer) */
35
+ getStatus(): number;
36
+ /** 返回响应信息 */
37
+ getMsg(): string;
38
+ /** 数据版本(官方返回值标注为 LngLat,疑为笔误,实际为日期字符串) */
39
+ getDataVersion(): string;
40
+ /**
41
+ * 返回行政区划数据信息 JSON 文本,结构:
42
+ * {returncode, data: [{parents, country, level, nameabbrevation, name,
43
+ * adminType, cityCode, lnt, lat, englishabbrevation, english, bound, points}], dataversion, msg}
44
+ */
45
+ getData(): string;
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,89 @@
1
+ export {};
2
+
3
+ declare global {
4
+ namespace T {
5
+ class BusLineSearch {
6
+ /** 创建一个公交导航实例,用于获取公交路线规划方案*/
7
+ constructor(map: Map, opts: BusLineSearchOptions);
8
+
9
+ /** 检索公交信息 */
10
+ getBusList(keyword: string): void;
11
+ /** 检索公交路线 */
12
+ getBusLine(busListItem: BusListItem): void;
13
+ /** 设置公交列表查询后的回调函数 */
14
+ setGetBusListCompleteCallback(callback: Function): void;
15
+ /** 设置公交线路查询后的回调函数 */
16
+ setGetBusLineCompleteCallback(callback: Function): void;
17
+ }
18
+
19
+ interface BusLineSearchOptions {
20
+ /** 设置公交列表查询后的回调函数 */
21
+ onGetBusListComplete?: (result: BusListResult) => void;
22
+ /** 设置公交线路查询后的回调函数 */
23
+ onGetBusLineComplete?: (result: BusLine) => void;
24
+ }
25
+
26
+ interface BusListResult {
27
+ /** 公交列表个数 */
28
+ getNumBusList(): number;
29
+ /** 获取某一个具体的公交列表中的对象 */
30
+ getBusListItem(i: number): BusListItem;
31
+ }
32
+
33
+ interface BusListItem {
34
+ /** 站数 */
35
+ stationNum: string;
36
+ /** 线路名称 */
37
+ name: string;
38
+ /** 线路的id */
39
+ uuid: string;
40
+ }
41
+
42
+ interface BusLine {
43
+ /** 线路名称,如:68路 */
44
+ lineName: string;
45
+ /** 线路类型,1表示公交;2表示地铁;3表示磁悬浮 */
46
+ lineType: number;
47
+ /** 线路的长度,单位米 */
48
+ length: number;
49
+ /** 线路的详细点信息,格式:x,y;x,y; */
50
+ linePoint: string;
51
+ /** 始发车时间格式为:hh:mm 24小时制 */
52
+ startTime: string;
53
+ /** 末班车时间格式为:hh:mm 24小时制 */
54
+ endTime: string;
55
+ /** 公交线路的全程运营总时间,单位分钟 */
56
+ totalTime: number;
57
+ /** 该线路所具有的站点总数量 */
58
+ stationCount: number;
59
+ /** 发车间隔,单位秒 */
60
+ interval: number;
61
+ /** 计费模式,0表示单一;1表示按距离;2表示按站 */
62
+ ticketcal: number;
63
+ /** 全程票价,单位分 */
64
+ totalPrice: number;
65
+ /** 起步票价,单位分 */
66
+ startPrice: number;
67
+ /** 递增距离票价,单位千米 */
68
+ increasedPrice: number;
69
+ /** 车站递增票价,按站 */
70
+ increasedStep: number;
71
+ /** 是否支持月票,0表示不支持;1表示支持 */
72
+ ismonTicket: number;
73
+ /** 是否双向行驶,0表示单项;1表示双向 */
74
+ isBidirectional: number;
75
+ /** 是否人工售票,0表示有人;1表示无人 */
76
+ isManual: number;
77
+ /** 状态,0表示使用中;1表示非使用中 */
78
+ status: number;
79
+ /** 所属公交公司,公交线路所属公司 */
80
+ company: string;
81
+ /** 返回公交站点个数 */
82
+ getNumBusStations(): number;
83
+ /** 返回某一个具体的公交站信息 */
84
+ getBusStation(i: number): Station;
85
+ /** 返回公交线地理坐标点数组 */
86
+ getPath(): [];
87
+ }
88
+ }
89
+ }
@@ -0,0 +1,30 @@
1
+ export {};
2
+
3
+ declare global {
4
+ namespace T {
5
+ /** 此类用于获取地图数据来源信息 */
6
+ class DataSources {
7
+ /** 创建一个获取数据来源的实例 */
8
+ constructor();
9
+
10
+ /** 查询当前地图数据的来源,回调参数为 {ds: "数据来源"} */
11
+ search(config: DataSourcesOptions, callback: (result: DataSourcesResult) => void): void;
12
+ }
13
+
14
+ interface DataSourcesOptions {
15
+ /** 地图级别 */
16
+ level?: number;
17
+ /** 地图范围 */
18
+ bound?: string;
19
+ /** 地图图层 */
20
+ layers?: string;
21
+ /** 地图投影 */
22
+ projection?: string;
23
+ }
24
+
25
+ interface DataSourcesResult {
26
+ /** 数据来源 */
27
+ ds: string;
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,135 @@
1
+ export {};
2
+
3
+ declare global {
4
+ namespace T {
5
+ class DrivingRoute {
6
+ /** 创建一个驾车导航实例,用于获取驾车路线规划方案 */
7
+ constructor(map: Map, opts: DrivingRouteOptions);
8
+
9
+ /** 发起检索 */
10
+ search(start: LngLat, end: LngLat): void;
11
+ /** 返回最近一次检索的结果 */
12
+ getResults(): DrivingRouteResult;
13
+ /** 清除最近一次检索的结果 */
14
+ clearResults(): void;
15
+ /** 设置路线规划策略,参数为策略常量 */
16
+ setPolicy(policy: number): void;
17
+ /** 设置检索结束后的回调函数 */
18
+ setSearchCompleteCallback(fun: Function): void;
19
+ }
20
+
21
+ interface DrivingRouteOptions {
22
+ /**
23
+ * 驾车策略参数
24
+ * TMAP_DRIVING_POLICY_LEAST_TIME = 0 最少时间
25
+ * TMAP_DRIVING_POLICY_LEAST_DISTANCE = 1 最短距离
26
+ * TMAP_DRIVING_POLICY_AVOID_HIGHWAYS = 2 避开高速
27
+ * TMAP_DRIVING_POLICY_WALK = 3 步行
28
+ */
29
+ policy: number;
30
+ /** 检索结束后的回调函数 */
31
+ onSearchComplete?: (result: DrivingRouteResult) => void;
32
+ }
33
+
34
+ interface DrivingRouteResult {
35
+ /** 起点"lng,lat" */
36
+ start: string;
37
+ /** 终点"lng,lat" */
38
+ end: string;
39
+ results: {
40
+ mid: string;
41
+ /** 起点"lng,lat" */
42
+ orig: string;
43
+ /** 终点"lng,lat" */
44
+ dest: string;
45
+ /** 完整路径 */
46
+ routes: {
47
+ /** 路径条数 */
48
+ count: string;
49
+ time: string;
50
+ item: {
51
+ /** 路径id */
52
+ id: string;
53
+ /** 路径导航文本描述 */
54
+ strguide: string;
55
+ signage: null;
56
+ /** 当前道路名称 */
57
+ streetName: string;
58
+ /** 下个道路名称 */
59
+ nextStreetName: string;
60
+ tollStatus: number;
61
+ /** 节点经纬度"lng,lat" */
62
+ turnlatlon: string;
63
+ }[];
64
+ };
65
+ /** 简略路径 */
66
+ simple: {
67
+ item: {
68
+ id: "0";
69
+ strguide: "从清华东路出发,行驶到学院路,进入新街口南大街。";
70
+ streetNames: "清华东路";
71
+ lastStreetName: "学院路";
72
+ linkStreetName: "新街口南大街";
73
+ signage: null;
74
+ tollStatus: 0;
75
+ turnlatlon: "116.33297,39.99922";
76
+ streetLatLon: "116.33297,39.99922;116.33303,39.99922;116.33303,39.99922;116.33339,39.99922;116.33339,39.99922;116.33372,39.99922;116.33372,39.99922;116.33484,39.99926;116.33484,39.99926;116.3353,39.99929;116.3353,39.99929;116.33705,39.99935;116.33705,39.99935;116.33805,39.99937;116.33805,39.99937;116.33912,39.99939;116.33912,39.99939;116.34087,39.99946;116.34087,39.99946;116.34142,39.99949;116.34142,39.99949;116.34158,39.99949;116.34158,39.99949;116.34206,39.99949;116.34206,39.99949;116.34222,39.99949;116.34222,39.99949;116.34256,39.99951;116.34256,39.99951;116.34283,39.99951;116.34283,39.99951;116.34302,39.99951;116.34302,39.99951;116.34351,39.99951;116.34351,39.99951;116.34384,39.99951;116.34384,39.99951;116.34432,39.99951;116.34432,39.99951;116.34486,39.99953;116.34486,39.99953;116.34528,39.99955;116.34528,39.99955;116.34568,39.99956;116.34568,39.99956;116.34602,39.99957;116.34602,39.99957;116.34628,39.99957;";
77
+ streetDistance: 1134;
78
+ segmentNumber: 0;
79
+ }[];
80
+ };
81
+ /** */
82
+ distance: 17.5;
83
+ duration: 1259;
84
+ /** "lng,lat;lng,lat;..." */
85
+ routelatlon: string;
86
+ };
87
+ /** 返回起点 */
88
+ getStart(): LngLat;
89
+ /** 返回终点 */
90
+ getEnd(): LngLat;
91
+ /** 返回方案个数 */
92
+ getNumPlans(): number;
93
+ /** 返回索引指定的方案。索引0表示第一条方案 */
94
+ getPlan(i: number): RoutePlan;
95
+ }
96
+
97
+ /** 官方文档页名为 RoutePlan(通过 DrivingRouteResult.getPlan() 获得) */
98
+ interface RoutePlan {
99
+ /** 返回该方案包含的线路的个数 */
100
+ getNumRoutes(): number;
101
+ /** 返回方案中索引指定的线路信息。索引0表示第一条线路 */
102
+ getRoute(i: number): Route;
103
+ /** 返回方案总距离,单位为公里 */
104
+ getDistance(): number;
105
+ /** 返回方案总时间,单位为秒 */
106
+ getDuration(): number;
107
+ /** 返回途径点 */
108
+ getWayPois(): LngLat[];
109
+ /** 返回路线的经纬度 */
110
+ getPath(): LngLat[];
111
+ }
112
+
113
+ interface Route {
114
+ /** 返回该段路线包含的关键点个数 */
115
+ getNumSteps(): number;
116
+ /** 返回索引指定的关键点。索引0表示第一个关键点 */
117
+ getStep(i: number): Step;
118
+ /** 返回该段路线距离 */
119
+ getDistance(): number;
120
+ /** 返回该段路线在方案中的索引位置 */
121
+ getIndex(): number;
122
+ /** 返回该段路线的坐标 */
123
+ getPath(): LngLat[];
124
+ }
125
+
126
+ interface Step {
127
+ /** 返回关键点地理坐标 */
128
+ getPosition(): LngLat;
129
+ /** 返回本关键点在路线中的位置索引 */
130
+ getIndex(): number;
131
+ /** 返回关键点描述文本 */
132
+ getDescription(): string;
133
+ }
134
+ }
135
+ }
@@ -0,0 +1,47 @@
1
+ export {};
2
+
3
+ declare global {
4
+ namespace T {
5
+ /**
6
+ * 地址解析器。对照官方文档仅列反地址解析能力
7
+ */
8
+ class Geocoder {
9
+ /** 创建一个地址解析器的实例 */
10
+ constructor();
11
+ /**
12
+ * 对指定的坐标点进行反地址解析
13
+ * @param point 坐标点
14
+ * @param callback 解析成功时参数为 GeocoderResult,失败时为 null
15
+ */
16
+ getLocation(point: LngLat, callback: (result: GeocoderResult | null) => void): void;
17
+ }
18
+
19
+ /**
20
+ * 反地址解析结果
21
+ */
22
+ interface GeocoderResult {
23
+ /** 解析状态(官方文档返回值拼写即为 numer) */
24
+ getStatus(): number;
25
+ /** 返回响应信息 */
26
+ getMsg(): string;
27
+ /** 获取此点坐标 */
28
+ getLocationPoint(): LngLat;
29
+ /** 获取详细地址 */
30
+ getAddress(): string;
31
+ /** 获取此点的详细信息 */
32
+ getAddressComponent(): AddressComponent;
33
+ }
34
+
35
+ /**
36
+ * 地址成分描述
37
+ */
38
+ interface AddressComponent {
39
+ /** 详细地址 */
40
+ address: string;
41
+ /** 热点名称 */
42
+ poi: string;
43
+ /** 距离 */
44
+ distance: number;
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,39 @@
1
+ export {};
2
+
3
+ declare global {
4
+ namespace T {
5
+ /**
6
+ * 浏览器定位
7
+ */
8
+ class Geolocation {
9
+ /** 创建一个浏览器定位实例 */
10
+ constructor();
11
+ /**
12
+ * 发起一次当前定位
13
+ * @param callback 定位完成回调;定位失败时参数为 null
14
+ * @param options 定位配置项
15
+ */
16
+ getCurrentPosition(
17
+ callback: (result: GeolocationResult | null) => void,
18
+ options?: GeolocationOptions,
19
+ ): void;
20
+ }
21
+
22
+ interface GeolocationOptions {
23
+ /** 是否使用高精度 */
24
+ enableHighAccuracy?: boolean;
25
+ /** 浏览器缓存定位的最大时长,单位毫秒 */
26
+ maximumAge?: number;
27
+ /** 超时时间,单位毫秒 */
28
+ timeout?: number;
29
+ }
30
+
31
+ /**
32
+ * 定位结果
33
+ */
34
+ interface GeolocationResult {
35
+ /** 定位坐标 */
36
+ lnglat: LngLat;
37
+ }
38
+ }
39
+ }