@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
package/types/map.d.ts ADDED
@@ -0,0 +1,290 @@
1
+ export {};
2
+
3
+ declare global {
4
+ namespace T {
5
+ class Map {
6
+ /**
7
+ * 在指定的容器内创建地图实例,之后需要调用Map.centerAndZoom()方法对地图进行初始化。未进行初始化的地图将不能进行任何操作。
8
+ * @param container 用于显示地图的DIV对象。
9
+ * @param opts 地图属性对象,请参考MapOptions。
10
+ */
11
+ constructor(container: string | HTMLElement, opts?: MapOptions);
12
+
13
+ /**
14
+ * --------------------
15
+ * 配置方法
16
+ * --------------------
17
+ */
18
+
19
+ /** 启用地图拖拽,默认启用 */
20
+ enableDrag(): void;
21
+ /** 禁用地图拖拽 */
22
+ disableDrag(): void;
23
+ /** 是否启用地图拖拽,true表示启用,false表示禁止 */
24
+ isDrag(): boolean;
25
+ /** 启用滚轮放大缩小,默认启用 */
26
+ enableScrollWheelZoom(): void;
27
+ /** 禁用滚轮放大缩小 */
28
+ disableScrollWheelZoom(): void;
29
+ /** 是否启用滚轮放大缩小,true表示启用,false表示禁止 */
30
+ isScrollWheelZoom(): boolean;
31
+ /** 启用双击放大,默认启用 */
32
+ enableDoubleClickZoom(): void;
33
+ /** 禁用双击放大 */
34
+ disableDoubleClickZoom(): void;
35
+ /** 是否启用双击放大,true表示启用,false表示禁止 */
36
+ isDoubleClickZoom(): boolean;
37
+ /** 启用键盘操作,默认启用 */
38
+ enableKeyboard(): void;
39
+ /** 禁用键盘操作 */
40
+ disableKeyboard(): void;
41
+ /** 是否启用键盘操作,true表示启用,false表示禁止 */
42
+ isKeyboard(): boolean;
43
+ /** 启用地图惯性拖拽,默认启用 */
44
+ enableInertia(): void;
45
+ /** 禁用地图惯性拖拽 */
46
+ disableInertia(): void;
47
+ /** 是否启用地图惯性拖拽,true表示启用,false表示禁止 */
48
+ isInertia(): boolean;
49
+ /** 启用连续缩放效果,默认启用 */
50
+ enableContinuousZoom(): void;
51
+ /** 禁用连续缩放效果 */
52
+ disableContinuousZoom(): void;
53
+ /** 是否启用连续缩放效果,true表示启用,false表示禁止 */
54
+ isContinuousZoom(): boolean;
55
+ /** 启用双指操作缩放,默认启用 */
56
+ enablePinchToZoom(): void;
57
+ /** 禁用双指操作缩放 */
58
+ disablePinchToZoom(): void;
59
+ /** 是否启用操作缩放,true表示启用,false表示禁止 */
60
+ isPinchToZoom(): boolean;
61
+ /** 启用自动适应容器尺寸变化,默认启用 */
62
+ enableAutoResize(): void;
63
+ /** 禁用自动适应容器尺寸变化 */
64
+ disableAutoResize(): void;
65
+
66
+ /**
67
+ * --------------------
68
+ * 获取地图状态方法
69
+ * --------------------
70
+ */
71
+
72
+ /** 返回地图投影类型信息 */
73
+ getCode(): string;
74
+ /** 返回地图可视区域,以地理坐标表示 */
75
+ getBounds(): LngLatBounds;
76
+ /** 返回地图当前中心点 */
77
+ getCenter(): LngLat;
78
+ /** 返回地图视图的大小,以像素表示 */
79
+ getSize(): Point;
80
+ /** 返回地图当前缩放级别 */
81
+ getZoom(): number;
82
+ /** 返回两点之间的距离,单位是米 */
83
+ getDistance(start: LngLat, end: LngLat): number;
84
+ /** 根据提供的地理区域或坐标获得最佳的地图视野,返回的对象中包含center和zoom属性,分别表示地图的中心点和级别 */
85
+ getViewport(view: Array<LngLat>): { center: LngLat; zoom: number };
86
+
87
+ /**
88
+ * --------------------
89
+ * 修改地图状态方法
90
+ * --------------------
91
+ */
92
+
93
+ /** 初始化定位地图 */
94
+ centerAndZoom(lnglat: LngLat, zoom: number): void;
95
+ /** 将地图的中心点变换到指定的地理坐标,如果同时指定了缩放等级,则同时缩放到指定的等级 */
96
+ panTo(lnglat: LngLat, zoom?: number): void;
97
+ /** 将地图在水平位置上移动x像素,垂直位置上移动y像素 */
98
+ panBy(position: Point): void;
99
+ /** 将视图缩放到指定的缩放等级,中心点坐标不变 */
100
+ setZoom(zoom: number): void;
101
+ /** 放大一级视图 */
102
+ zoomIn(): void;
103
+ /** 缩小一级视图 */
104
+ zoomOut(): void;
105
+ /** 通知地图其容器大小已更改。在更改了容器对象的大小后调用此方法,以便地图能够调整自己适合于新的大小 */
106
+ checkResize(): void;
107
+ /** 设置地图最小显示级别 */
108
+ setMinZoom(level: number): void;
109
+ /** 设置地图最大显示级别 */
110
+ setMaxZoom(level: number): void;
111
+ /** 设置地图的显示范围 */
112
+ setMaxBounds(bounds: LngLatBounds): void;
113
+ /** 根据提供的坐标点数组设置地图视野,调整后的视野会保证包含提供的坐标点 */
114
+ setViewport(view: Array<LngLat>): void;
115
+ /** 设置地图样式 */
116
+ setStyle(style: "black" | "indigo"): void;
117
+ /** 移除地图样式 */
118
+ removeStyle(): void;
119
+
120
+ /**
121
+ * --------------------
122
+ * 坐标变换
123
+ * --------------------
124
+ */
125
+
126
+ /** 将地图上相对于container的像素坐标转化为地理坐标 */
127
+ containerPointToLngLat(pixel: Point): LngLat;
128
+ /** 将地理坐标转化为地图上点的像素坐标,相对于container左上角 */
129
+ lngLatToContainerPoint(lnglat: LngLat): Point;
130
+ /** 将地理坐标转化为地图图层上点的像素坐标,相对于地图图层左上角 */
131
+ lngLatToLayerPoint(lnglat: LngLat): Point;
132
+ /** 将地图上相对于地图图层的像素坐标转化为地理坐标 */
133
+ layerPointToLngLat(pixel: Point): LngLat;
134
+
135
+ /**
136
+ * --------------------
137
+ * 覆盖物方法
138
+ * --------------------
139
+ */
140
+
141
+ /** 将覆盖物添加到地图中,一个覆盖物实例只能向地图中添加一次。右键菜单须用 addContextMenu(经 addOverLay 添加会在 SDK 内部报错) */
142
+ addOverLay(overlay: Overlay | OverlayBase<any>): void;
143
+ /** 从地图中移除覆盖物。如果覆盖物从未被添加到地图中,则该移除不起任何作用 */
144
+ removeOverLay(overlay: Overlay | OverlayBase<any>): void;
145
+ /** 清除地图上所有覆盖物 */
146
+ clearOverLays(): void;
147
+ /** 将右键菜单添加到地图(SDK 未提供对应的移除方法) */
148
+ addContextMenu(menu: ContextMenu, lnglat?: LngLat): void;
149
+ /** 返回地图上的所有覆盖物 */
150
+ getOverlays(): Array<Overlay>;
151
+ /** 返回地图覆盖物容器列表 */
152
+ getPanes(): MapPanes;
153
+ /** 在地图上打开信息窗口 */
154
+ openInfoWindow(infowin: InfoWindow, lnglat: LngLat): void;
155
+ /** 关闭在地图上打开的信息窗口。在标注上打开的信息窗口也可通过此方法进行关闭 */
156
+ closeInfoWindow(): void;
157
+
158
+ /**
159
+ * --------------------
160
+ * 控件方法
161
+ * --------------------
162
+ */
163
+
164
+ /** 将控件添加到地图,一个控件实例只能向地图中添加一次 */
165
+ addControl(control: Control): void;
166
+ /** 从地图中移除控件。如果控件从未被添加到地图中,则该移除不起任何作用 */
167
+ removeControl(control: Control): void;
168
+ /** 返回地图的容器元素。当创建用户自定义控件时,需要自行实现Control.initialize()方法,并将控件的容器元素添加到地图上,通过此方法可获得地图容器 */
169
+ getContainer(): HTMLElement;
170
+
171
+ /**
172
+ * --------------------
173
+ * 地图图层方法
174
+ * --------------------
175
+ */
176
+
177
+ /** 获取所有叠加层对象,可以自己判断需要移除哪些叠加层 */
178
+ getLayers(): Array<TileLayer>;
179
+ /** 给地图添加一个叠加层对象 */
180
+ addLayer(layer: TileLayer): void;
181
+ /** 移除一个叠加层对象 */
182
+ removeLayer(layer: TileLayer): void;
183
+ /** 移除所有叠加层对象 */
184
+ clearLayers(): void;
185
+
186
+ /**
187
+ * --------------------
188
+ * 地图事件方法
189
+ * --------------------
190
+ */
191
+
192
+ /** 添加地图事件监听 */
193
+ addEventListener<EE extends keyof MapEvents>(event: EE, handler: MapEvents[EE]): void;
194
+ /** 移除地图事件监听 */
195
+ removeEventListener<EE extends keyof MapEvents>(event: EE, handler: MapEvents[EE]): void;
196
+ }
197
+
198
+ interface MapOptions {
199
+ /** 指定地图的投影方式,目前支持的地图投影方式有:EPSG:900913(墨卡托投影),EPSG:4326(大地平面投影) */
200
+ projection?: string;
201
+ /** 地图允许展示的最小级别 */
202
+ minZoom?: number;
203
+ /** 地图允许展示的最大级别 */
204
+ maxZoom?: number;
205
+ /** 当这个选项被设置后,地图被限制在给定的地理边界内,当用户平移将地图拖动到视图以外的范围时会出现弹回的效果,并且也不允许缩小视图到给定范围以外的区域(这取决于地图的尺寸)。使用setMaxBounds方法可以动态地设置这种约束 */
206
+ maxBounds?: LngLatBounds;
207
+ /** 地图的初始化中心点 */
208
+ center?: LngLat;
209
+ /** 地图的初始化级别 */
210
+ zoom?: number;
211
+ }
212
+
213
+ interface MapEvents {
214
+ /** 左键单击地图时触发此事件 */
215
+ click(e: MapEvent): void;
216
+ /** 鼠标双击地图时会触发此事件 */
217
+ dblclick(e: MapEvent): void;
218
+ /** 右键单击地图时触发此事件 */
219
+ contextmenu(e: MapEvent): void;
220
+ /** 鼠标在地图区域移动过程中触发此事件 */
221
+ mousemove(e: MapEvent): void;
222
+ /** 鼠标移入地图区域时触发此事件 */
223
+ mouseover(e: MapEvent): void;
224
+ /** 鼠标移出地图区域时触发此事件 */
225
+ mouseout(e: MapEvent): void;
226
+ /** 地图移动开始时触发此事件 */
227
+ movestart(e: MapEventBase): void;
228
+ /** 地图移动过程中触发此事件 */
229
+ move(e: MapEventBase): void;
230
+ /** 地图移动结束时触发此事件 */
231
+ moveend(e: MapEventBase): void;
232
+ /** 地图更改缩放级别开始时触发触发此事件 */
233
+ zoomstart(e: MapEventBase): void;
234
+ /** 地图更改缩放级别结束时触发触发此事件 */
235
+ zoomend(e: MapEventBase): void;
236
+ /** 当使用Map.addOverlay()方法向地图中添加单个覆盖物时会触发此事件 */
237
+ addoverlay(e: MapEventBase & { addoverlay: Overlay }): void;
238
+ /** 当使用Map.removeOverlay()方法移除单个覆盖物时会触发此事件 */
239
+ removeoverlay(e: MapEventBase & { removeoverlay: Overlay }): void;
240
+ /** 当使用Map.addControl()方法向地图中添加单个控件时会触发此事件 */
241
+ addcontrol(e: MapEventBase & { addcontrol: Control }): void;
242
+ /** 当使用Map.removeControl()方法移除单个控件时会触发此事件 */
243
+ removecontrol(e: MapEventBase & { removecontrol: Control }): void;
244
+ /** 当使用Map.clearOverlays()方法一次性移除全部覆盖物时会触发此事件 */
245
+ clearoverlays(e: MapEventBase): void;
246
+ /** 开始拖拽地图时触发 */
247
+ dragstart(e: MapEventBase): void;
248
+ /** 拖拽地图过程中触发 */
249
+ drag(e: MapEventBase): void;
250
+ /** 停止拖拽地图时触发 */
251
+ dragend(e: MapEventBase): void;
252
+ /** 添加一个自定义地图图层时触发此事件 */
253
+ layeradd(e: MapEventBase & { layer: TileLayer }): void;
254
+ /** 移除一个自定义地图图层时触发此事件 */
255
+ layerremove(e: MapEventBase & { layer: TileLayer }): void;
256
+ /** 调用Map.centerAndZoom()方法时会触发此事件。这表示位置、缩放层级已经确定,但可能还在载入地图瓦片 */
257
+ load(e: MapEventBase): void;
258
+ /** 地图可视区域大小发生变化时会触发此事件 */
259
+ resize(e: MapEventBase & { newSize: Point; oldSize: Point }): void;
260
+ /** 调用setMinZoom和setMaxZoom时会触发此事件 */
261
+ levels(e: MapEventBase & { minZoom: number; maxZoom: number }): void;
262
+ /** 触摸开始时触发此事件,仅适用移动设备 */
263
+ touchstart(e: MapEvent): void;
264
+ /** 触摸移动时触发此事件,仅适用移动设备 */
265
+ touchmove(e: MapEvent): void;
266
+ /** 触摸结束时触发此事件,仅适用移动设备 */
267
+ touchend(e: MapEvent): void;
268
+ /** 长按事件,仅适用移动设备 */
269
+ longpress(e: MapEvent): void;
270
+ }
271
+
272
+ interface MapEventBase {
273
+ /** 事件类型 */
274
+ type: string;
275
+ /** 地图对象 */
276
+ target: Map;
277
+ }
278
+
279
+ interface MapEvent extends MapEventBase {
280
+ /** 经纬度坐标 */
281
+ lnglat: LngLat;
282
+ /** xy坐标 */
283
+ containerPoint: Point;
284
+ }
285
+
286
+ interface MapPanes {
287
+ [x: string]: HTMLElement;
288
+ }
289
+ }
290
+ }
@@ -0,0 +1,71 @@
1
+ export {};
2
+
3
+ declare global {
4
+ namespace T {
5
+ /**
6
+ * 标绘工具的公共接口,由官方各工具页面(ArcTool、StraightArrowTool 等)
7
+ * 的公共成员归纳;官方文档未声明统一基类
8
+ */
9
+ class MilitaryTool<G> {
10
+ /** 开启工具 */
11
+ open(): boolean;
12
+ /** 关闭工具 */
13
+ close(): void;
14
+ /** 清空工具绘制的所有图形 */
15
+ clear(): void;
16
+ /** 获取工具绘制的所有图形 */
17
+ getLayers(): G[];
18
+ /** 添加事件监听函数 */
19
+ addEventListener<E extends keyof MilitaryToolEvents<G>>(
20
+ event: E,
21
+ handler: MilitaryToolEvents<G>[E],
22
+ ): void;
23
+ /** 移除事件监听函数 */
24
+ removeEventListener<E extends keyof MilitaryToolEvents<G>>(
25
+ event: E,
26
+ handler: MilitaryToolEvents<G>[E],
27
+ ): void;
28
+ }
29
+
30
+ interface MilitaryToolEvents<G> {
31
+ /** 工具点击一次地图触发的事件 */
32
+ click(e: MilitaryToolEvent<G>): void;
33
+ /** 工具绘制图形时移动鼠标的事件 */
34
+ move(e: MilitaryToolEvent<G>): void;
35
+ /** 双击结束编辑时触发(官方拼写即为 dbclick;部分工具页未列出) */
36
+ dbclick(e: MilitaryToolEvent<G>): void;
37
+ }
38
+
39
+ interface MilitaryToolEvent<G> {
40
+ /** 事件类型 */
41
+ type: string;
42
+ /** 工具对象 */
43
+ target: MilitaryTool<G>;
44
+ /** 当前绘制的点数组 */
45
+ currentLnglats: LngLat[];
46
+ /** 当前绘制的图形 */
47
+ currentLayer: G | undefined;
48
+ /** 工具绘制的所有图形 */
49
+ allLayers: G[];
50
+ }
51
+
52
+ interface MilitaryToolOptions {
53
+ /**
54
+ * 绘制图形的样式。default {color:"red", weight:5, opacity:0.5}
55
+ * (部分工具额外含 fillColor/fillOpacity/fill)
56
+ */
57
+ style?: MilitaryStyle;
58
+ /** 存储绘制图形的容器,默认时工具创建空图层容器 */
59
+ layers?: LayerGroup;
60
+ }
61
+
62
+ interface MilitaryStyle {
63
+ color?: string;
64
+ weight?: number;
65
+ opacity?: number;
66
+ fillColor?: string;
67
+ fillOpacity?: number;
68
+ fill?: boolean;
69
+ }
70
+ }
71
+ }
@@ -0,0 +1,24 @@
1
+ export {};
2
+
3
+ declare global {
4
+ namespace T {
5
+ /**
6
+ * 标绘控件(官方命名 Control.militarySymbols),在地图上加载标绘
7
+ * 工具条
8
+ */
9
+ class ControlMilitarySymbols extends T.Control {
10
+ constructor(opts?: ControlMilitarySymbolsOptions);
11
+ /** 清空控件绘制的图形 */
12
+ clearLayers(): void;
13
+ /** 获取控件绘制的图形(官方返回值标注为 Array<Layer>) */
14
+ getLayers(): Overlay[];
15
+ /** 关闭并清空当前绘制(官方拼写即为大写 Close) */
16
+ Close(): void;
17
+ }
18
+
19
+ interface ControlMilitarySymbolsOptions extends ControlOptions {
20
+ /** 控件停靠位置 */
21
+ position?: ControlPosition;
22
+ }
23
+ }
24
+ }