@maptec/maptec-js 0.0.1

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.
package/README.md ADDED
@@ -0,0 +1,82 @@
1
+ # Maptec GL JS
2
+
3
+ Maptec GL JS 是一个用于在网站或基于 webview 的应用中发布地图的开源库。通过 GPU 加速的矢量瓦片渲染实现快速地图显示。
4
+
5
+ ## 安装
6
+
7
+ ```bash
8
+ npm install maptec
9
+ ```
10
+
11
+ 或:
12
+
13
+ ```bash
14
+ pnpm add maptec
15
+ ```
16
+
17
+ ## 在项目中使用(推荐:打包工具)
18
+
19
+ ```js
20
+ import Maptec from 'maptec';
21
+ import 'maptec/maptec.css';
22
+
23
+ const map = new Maptec.Map({
24
+ container: 'map',
25
+ style: 'https://demotiles.maplibre.org/style.json',
26
+ center: [116.3974, 39.9093],
27
+ zoom: 10,
28
+ });
29
+ ```
30
+
31
+ 对应 HTML:
32
+
33
+ ```html
34
+ <div id="map" style="height: 100vh"></div>
35
+ ```
36
+
37
+ ## 通过 CDN 引入(UMD,全局变量 `Maptec`)
38
+
39
+ 以 `0.0.1` 为例:
40
+
41
+ ```html
42
+ <!doctype html>
43
+ <html lang="zh-CN">
44
+ <head>
45
+ <meta charset="utf-8" />
46
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
47
+ <title>Maptec CDN Demo</title>
48
+ <link rel="stylesheet" href="https://unpkg.com/maptec@0.0.1/maptec.css" />
49
+ <style>
50
+ html, body { margin: 0; height: 100%; }
51
+ #map { width: 100%; height: 100%; }
52
+ </style>
53
+ </head>
54
+ <body>
55
+ <div id="map"></div>
56
+ <script src="https://unpkg.com/maptec@0.0.1/Maptec.js"></script>
57
+ <script>
58
+ const map = new Maptec.Map({
59
+ container: 'map',
60
+ style: 'https://demotiles.maplibre.org/style.json',
61
+ center: [116.3974, 39.9093],
62
+ zoom: 10,
63
+ });
64
+ </script>
65
+ </body>
66
+ </html>
67
+ ```
68
+
69
+ 也可用 jsDelivr:
70
+
71
+ - `https://cdn.jsdelivr.net/npm/maptec@0.0.1/Maptec.js`
72
+ - `https://cdn.jsdelivr.net/npm/maptec@0.0.1/maptec.css`
73
+
74
+ ## 常见问题
75
+
76
+ - **为什么必须引入 CSS?**:`maptec.css` 包含默认样式(控件、字体等),缺失会导致显示异常。
77
+ - **在浏览器里怎么拿到对象?**:CDN 方式会暴露全局 `Maptec`,打包工具方式建议 `import Maptec from 'maptec'`。
78
+
79
+ ## License
80
+
81
+ BSD-3-Clause,详见 `LICENSE`。
82
+
package/README.npm.md ADDED
@@ -0,0 +1,82 @@
1
+ # Maptec GL JS
2
+
3
+ Maptec GL JS 是一个用于在网站或基于 webview 的应用中发布地图的开源库。通过 GPU 加速的矢量瓦片渲染实现快速地图显示。
4
+
5
+ ## 安装
6
+
7
+ ```bash
8
+ npm install maptec
9
+ ```
10
+
11
+ 或:
12
+
13
+ ```bash
14
+ pnpm add maptec
15
+ ```
16
+
17
+ ## 在项目中使用(推荐:打包工具)
18
+
19
+ ```js
20
+ import Maptec from 'maptec';
21
+ import 'maptec/maptec.css';
22
+
23
+ const map = new Maptec.Map({
24
+ container: 'map',
25
+ style: 'https://demotiles.maplibre.org/style.json',
26
+ center: [116.3974, 39.9093],
27
+ zoom: 10,
28
+ });
29
+ ```
30
+
31
+ 对应 HTML:
32
+
33
+ ```html
34
+ <div id="map" style="height: 100vh"></div>
35
+ ```
36
+
37
+ ## 通过 CDN 引入(UMD,全局变量 `Maptec`)
38
+
39
+ 以 `0.0.1` 为例:
40
+
41
+ ```html
42
+ <!doctype html>
43
+ <html lang="zh-CN">
44
+ <head>
45
+ <meta charset="utf-8" />
46
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
47
+ <title>Maptec CDN Demo</title>
48
+ <link rel="stylesheet" href="https://unpkg.com/maptec@0.0.1/maptec.css" />
49
+ <style>
50
+ html, body { margin: 0; height: 100%; }
51
+ #map { width: 100%; height: 100%; }
52
+ </style>
53
+ </head>
54
+ <body>
55
+ <div id="map"></div>
56
+ <script src="https://unpkg.com/maptec@0.0.1/Maptec.js"></script>
57
+ <script>
58
+ const map = new Maptec.Map({
59
+ container: 'map',
60
+ style: 'https://demotiles.maplibre.org/style.json',
61
+ center: [116.3974, 39.9093],
62
+ zoom: 10,
63
+ });
64
+ </script>
65
+ </body>
66
+ </html>
67
+ ```
68
+
69
+ 也可用 jsDelivr:
70
+
71
+ - `https://cdn.jsdelivr.net/npm/maptec@0.0.1/Maptec.js`
72
+ - `https://cdn.jsdelivr.net/npm/maptec@0.0.1/maptec.css`
73
+
74
+ ## 常见问题
75
+
76
+ - **为什么必须引入 CSS?**:`maptec.css` 包含默认样式(控件、字体等),缺失会导致显示异常。
77
+ - **在浏览器里怎么拿到对象?**:CDN 方式会暴露全局 `Maptec`,打包工具方式建议 `import Maptec from 'maptec'`。
78
+
79
+ ## License
80
+
81
+ BSD-3-Clause,详见 `LICENSE`。
82
+
package/maptec.css ADDED
@@ -0,0 +1 @@
1
+ body,html{height:100%;margin:0;padding:0}.maptec-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0)}.maptec-canvas{left:0;position:absolute;top:0}.maptec-map:fullscreen{height:100%;width:100%}.maptec-ctrl-group button.maptec-ctrl-compass{touch-action:none}.maptec-canvas-container.maptec-interactive,.maptec-ctrl-group button.maptec-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maptec-canvas-container.maptec-interactive.maptec-track-pointer{cursor:pointer}.maptec-canvas-container.maptec-interactive:active,.maptec-ctrl-group button.maptec-ctrl-compass:active{cursor:grabbing}.maptec-canvas-container.maptec-touch-zoom-rotate,.maptec-canvas-container.maptec-touch-zoom-rotate .maptec-canvas{touch-action:pan-x pan-y}.maptec-canvas-container.maptec-touch-drag-pan,.maptec-canvas-container.maptec-touch-drag-pan .maptec-canvas{touch-action:pinch-zoom}.maptec-canvas-container.maptec-touch-zoom-rotate.maptec-touch-drag-pan,.maptec-canvas-container.maptec-touch-zoom-rotate.maptec-touch-drag-pan .maptec-canvas{touch-action:none}.maptec-canvas-container.maptec-touch-drag-pan.maptec-cooperative-gestures,.maptec-canvas-container.maptec-touch-drag-pan.maptec-cooperative-gestures .maptec-canvas{touch-action:pan-x pan-y}.maptec-ctrl-bottom-left,.maptec-ctrl-bottom-right,.maptec-ctrl-top-left,.maptec-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maptec-ctrl-top-left{left:0;top:0}.maptec-ctrl-top-right{right:0;top:0}.maptec-ctrl-bottom-left{bottom:0;left:0}.maptec-ctrl-bottom-right{bottom:0;right:0}.maptec-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maptec-ctrl-top-left .maptec-ctrl{float:left;margin:10px 0 0 10px}.maptec-ctrl-top-right .maptec-ctrl{float:right;margin:10px 10px 0 0}.maptec-ctrl-bottom-left .maptec-ctrl{float:left;margin:0 0 10px 10px}.maptec-ctrl-bottom-right .maptec-ctrl{float:right;margin:0 10px 10px 0}.maptec-ctrl-group{background:#fff;border-radius:4px}.maptec-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maptec-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maptec-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maptec-ctrl-group button+button{border-top:1px solid #ddd}.maptec-ctrl button .maptec-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maptec-ctrl-icon{background-color:transparent}.maptec-ctrl-group button+button{border-top:1px solid ButtonText}}.maptec-ctrl button::-moz-focus-inner{border:0;padding:0}.maptec-ctrl-attrib-button:focus,.maptec-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maptec-ctrl button:disabled{cursor:not-allowed}.maptec-ctrl button:disabled .maptec-ctrl-icon{opacity:.25}@media (hover:hover){.maptec-ctrl button:not(:disabled):hover{background-color:rgba(0,0,0,.05)}}.maptec-ctrl button:not(:disabled):active{background-color:rgba(0,0,0,.05)}.maptec-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maptec-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maptec-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maptec-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maptec-ctrl-group button:focus:only-child{border-radius:inherit}.maptec-ctrl button.maptec-ctrl-zoom-out .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-zoom-in .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maptec-ctrl button.maptec-ctrl-zoom-out .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-zoom-in .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maptec-ctrl button.maptec-ctrl-zoom-out .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-zoom-in .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maptec-ctrl button.maptec-ctrl-fullscreen .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath fill='%23424242' d='M6.082 12.741a.834.834 0 0 1 1.172 1.186l-2.77 2.741h1.767a.834.834 0 1 1 0 1.667h-3.75a.834.834 0 0 1-.833-.834v-3.75a.833.833 0 0 1 1.667 0v1.71zM12.787 12.745a.834.834 0 0 1 1.179 0l2.702 2.701v-1.695a.833.833 0 0 1 1.667 0v3.75c0 .46-.374.834-.834.834h-3.75a.834.834 0 0 1 0-1.667h1.78l-2.744-2.744a.834.834 0 0 1 0-1.179M17.501 1.668c.46 0 .834.373.834.833v3.75a.834.834 0 0 1-1.667 0v-1.78l-2.745 2.745a.834.834 0 0 1-1.179-1.18l2.701-2.701h-1.694a.834.834 0 0 1 0-1.667zM6.251 1.668a.834.834 0 1 1 0 1.667H4.528l2.726 2.7a.833.833 0 0 1-1.172 1.183L3.335 4.499v1.752a.834.834 0 0 1-1.667 0v-3.77a.84.84 0 0 1 .139-.441l.013-.02a.84.84 0 0 1 .332-.275q.014-.007.027-.014a.83.83 0 0 1 .317-.063z'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-shrink .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maptec-ctrl button.maptec-ctrl-fullscreen .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath fill='%23424242' d='M6.082 12.741a.834.834 0 0 1 1.172 1.186l-2.77 2.741h1.767a.834.834 0 1 1 0 1.667h-3.75a.834.834 0 0 1-.833-.834v-3.75a.833.833 0 0 1 1.667 0v1.71zM12.787 12.745a.834.834 0 0 1 1.179 0l2.702 2.701v-1.695a.833.833 0 0 1 1.667 0v3.75c0 .46-.374.834-.834.834h-3.75a.834.834 0 0 1 0-1.667h1.78l-2.744-2.744a.834.834 0 0 1 0-1.179M17.501 1.668c.46 0 .834.373.834.833v3.75a.834.834 0 0 1-1.667 0v-1.78l-2.745 2.745a.834.834 0 0 1-1.179-1.18l2.701-2.701h-1.694a.834.834 0 0 1 0-1.667zM6.251 1.668a.834.834 0 1 1 0 1.667H4.528l2.726 2.7a.833.833 0 0 1-1.172 1.183L3.335 4.499v1.752a.834.834 0 0 1-1.667 0v-3.77a.84.84 0 0 1 .139-.441l.013-.02a.84.84 0 0 1 .332-.275q.014-.007.027-.014a.83.83 0 0 1 .317-.063z'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-shrink .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maptec-ctrl button.maptec-ctrl-fullscreen .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23424242' d='M6.082 12.741a.834.834 0 0 1 1.172 1.186l-2.77 2.741h1.767a.834.834 0 1 1 0 1.667h-3.75a.834.834 0 0 1-.833-.834v-3.75a.833.833 0 0 1 1.667 0v1.71zM12.787 12.745a.834.834 0 0 1 1.179 0l2.702 2.701v-1.695a.833.833 0 0 1 1.667 0v3.75c0 .46-.374.834-.834.834h-3.75a.834.834 0 0 1 0-1.667h1.78l-2.744-2.744a.834.834 0 0 1 0-1.179M17.501 1.668c.46 0 .834.373.834.833v3.75a.834.834 0 0 1-1.667 0v-1.78l-2.745 2.745a.834.834 0 0 1-1.179-1.18l2.701-2.701h-1.694a.834.834 0 0 1 0-1.667zM6.251 1.668a.834.834 0 1 1 0 1.667H4.528l2.726 2.7a.833.833 0 0 1-1.172 1.183L3.335 4.499v1.752a.834.834 0 0 1-1.667 0v-3.77a.84.84 0 0 1 .139-.441l.013-.02a.84.84 0 0 1 .332-.275q.014-.007.027-.014a.83.83 0 0 1 .317-.063z'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-shrink .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maptec-ctrl button.maptec-ctrl-compass .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}.maptec-ctrl-compass-circle{align-items:center;display:flex;justify-content:center}.maptec-ctrl-compass-btn,.maptec-ctrl-compass-circle{border-radius:50%;pointer-events:auto;position:relative}.maptec-ctrl-compass-btn{background:transparent;border:none;cursor:pointer;outline:none;padding:0;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15)) drop-shadow(0 1px 2px rgba(0,0,0,.1))}.maptec-ctrl-compass-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' fill='none' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='28' fill='%23f0f0f0' fill-opacity='.95'/%3E%3Cpath fill='%23ff383c' d='m28 6 2.5 5-2.5-.8-2.5.8z'/%3E%3Cpath fill='%232d2e40' d='m28 50 2.5-5-2.5.8-2.5-.8z'/%3E%3C/svg%3E");left:0;top:0;transform-style:preserve-3d;transition:transform .2s ease;will-change:transform}.maptec-ctrl-compass-icon,.maptec-ctrl-compass-icon-inner{background-position:50%;background-repeat:no-repeat;background-size:100% 100%;pointer-events:none;position:absolute;transform-origin:center center}.maptec-ctrl-compass-icon-inner{align-items:center;backface-visibility:hidden;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='none' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='15.5' fill='%23fff' stroke='%23ebeef2'/%3E%3Cpath fill='%235e5e5e' d='M17.304 21.264q-.565 0-.868-.322-.302-.321-.302-.924v-7.882q0-.601.302-.924.303-.322.868-.322h.303v10.374zm.158-1.526h1.868q1.04 0 1.75-.462a2.9 2.9 0 0 0 1.078-1.302q.355-.825.355-1.89 0-1.092-.355-1.918a2.8 2.8 0 0 0-1.078-1.288q-.71-.462-1.75-.462h-1.868V10.89h1.868q1.447 0 2.5.714a4.6 4.6 0 0 1 1.604 1.904q.566 1.19.566 2.576a5.86 5.86 0 0 1-.566 2.548 4.65 4.65 0 0 1-1.618 1.918q-1.052.714-2.486.714h-1.868zM8.651 13.942q-.354 0-.539-.224-.184-.223-.066-.588.185-.672.632-1.218.46-.546 1.092-.854a2.94 2.94 0 0 1 1.328-.322q.841 0 1.54.448.71.435 1.117 1.176.421.742.421 1.582 0 .687-.276 1.33-.276.644-.881 1.4l-3.46 3.962v-.896h4.039q.329 0 .512.196.185.197.185.56v.028q0 .365-.184.56-.185.182-.527.182H8.85q-.356 0-.566-.182a.63.63 0 0 1-.197-.49v-.028q0-.28.092-.518.105-.237.329-.504l3.38-3.892q.46-.546.632-.91.17-.378.17-.798 0-.49-.197-.868a1.42 1.42 0 0 0-.552-.602 1.6 1.6 0 0 0-.829-.21q-.368 0-.684.14-.315.127-.552.364a1.5 1.5 0 0 0-.33.532 1.7 1.7 0 0 1-.367.49.77.77 0 0 1-.487.154z'/%3E%3C/svg%3E");display:flex;height:32px;justify-content:center;left:50%;top:50%;transform:translate(-50%,-52%);width:32px;z-index:1;-webkit-font-smoothing:antialiased;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.maptec-ctrl-compass-icon-inner.is-3d{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='none' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='15.5' fill='%23fff' stroke='%23ebeef2'/%3E%3Cpath fill='%235e5e5e' d='M17.304 21.264q-.565 0-.868-.322-.302-.321-.302-.924v-7.882q0-.601.302-.924.303-.322.868-.322h.303v10.374zm.158-1.526h1.868q1.04 0 1.75-.462a2.9 2.9 0 0 0 1.078-1.302q.355-.825.355-1.89 0-1.092-.355-1.918a2.8 2.8 0 0 0-1.078-1.288q-.71-.462-1.75-.462h-1.868V10.89h1.868q1.447 0 2.5.714a4.6 4.6 0 0 1 1.604 1.904q.566 1.19.566 2.576a5.86 5.86 0 0 1-.566 2.548 4.65 4.65 0 0 1-1.618 1.918q-1.052.714-2.486.714h-1.868zM11.114 10.735q.732 0 1.371.358.654.36 1.033.994.39.621.391 1.353 0 .731-.457 1.297a2.8 2.8 0 0 1-.876.705q.82.287 1.294.854.587.676.587 1.767 0 .841-.457 1.587a3.36 3.36 0 0 1-1.201 1.173 3.1 3.1 0 0 1-1.593.442q-.731 0-1.384-.304a3.6 3.6 0 0 1-1.136-.87 3 3 0 0 1-.64-1.214q-.117-.359.065-.566.183-.22.536-.22h.118q.287 0 .43.138.158.138.327.482.117.305.352.553.248.235.588.372.339.124.744.124.496 0 .901-.22a1.56 1.56 0 0 0 .64-.608 1.64 1.64 0 0 0 .234-.869q0-.786-.482-1.256-.483-.483-1.424-.565-.338-.028-.509-.194-.17-.18-.17-.497v-.07q0-.315.157-.481.17-.165.51-.221.638-.083 1.004-.414.367-.332.367-.815 0-.386-.17-.676a1.1 1.1 0 0 0-.457-.47q-.3-.165-.693-.165-.352 0-.626.138a1.06 1.06 0 0 0-.418.345l-.183.166q-.183.165-.34.248a.7.7 0 0 1-.352.083H9.13q-.405 0-.6-.249-.183-.263.012-.62.236-.456.614-.828a2.7 2.7 0 0 1 .875-.58q.51-.207 1.083-.207'/%3E%3C/svg%3E")}@media (forced-colors:active){.maptec-ctrl button.maptec-ctrl-compass .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maptec-ctrl button.maptec-ctrl-compass .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maptec-ctrl button.maptec-ctrl-globe .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-globe-enabled .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-terrain .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-terrain-enabled .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-geolocate .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23333' viewBox='0 0 24 24'%3E%3Cpath stroke='%230a0a0a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 12h3M19 12h3M12 2v3M12 19v3M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-geolocate:disabled .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23aaa' viewBox='0 0 24 24'%3E%3Cpath stroke='%230a0a0a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 12h3M19 12h3M12 2v3M12 19v3M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-geolocate.maptec-ctrl-geolocate-active .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%2333b5e5' viewBox='0 0 24 24'%3E%3Cpath stroke='%230a0a0a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 12h3M19 12h3M12 2v3M12 19v3M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-geolocate.maptec-ctrl-geolocate-active-error .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23e58978' viewBox='0 0 24 24'%3E%3Cpath stroke='%230a0a0a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 12h3M19 12h3M12 2v3M12 19v3M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-geolocate.maptec-ctrl-geolocate-background .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%2333b5e5' viewBox='0 0 24 24'%3E%3Cpath stroke='%230a0a0a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 12h3M19 12h3M12 2v3M12 19v3M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-geolocate.maptec-ctrl-geolocate-background-error .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23e54e33' viewBox='0 0 24 24'%3E%3Cpath stroke='%230a0a0a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 12h3M19 12h3M12 2v3M12 19v3M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-geolocate.maptec-ctrl-geolocate-waiting .maptec-ctrl-icon{animation:maptec-spin 2s linear infinite}@media (forced-colors:active){.maptec-ctrl button.maptec-ctrl-geolocate .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' viewBox='0 0 24 24'%3E%3Cpath stroke='%230a0a0a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 12h3M19 12h3M12 2v3M12 19v3M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-geolocate:disabled .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23999' viewBox='0 0 24 24'%3E%3Cpath stroke='%230a0a0a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 12h3M19 12h3M12 2v3M12 19v3M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-geolocate.maptec-ctrl-geolocate-active .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%2333b5e5' viewBox='0 0 24 24'%3E%3Cpath stroke='%230a0a0a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 12h3M19 12h3M12 2v3M12 19v3M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-geolocate.maptec-ctrl-geolocate-active-error .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23e58978' viewBox='0 0 24 24'%3E%3Cpath stroke='%230a0a0a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 12h3M19 12h3M12 2v3M12 19v3M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-geolocate.maptec-ctrl-geolocate-background .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%2333b5e5' viewBox='0 0 24 24'%3E%3Cpath stroke='%230a0a0a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 12h3M19 12h3M12 2v3M12 19v3M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-geolocate.maptec-ctrl-geolocate-background-error .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23e54e33' viewBox='0 0 24 24'%3E%3Cpath stroke='%230a0a0a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 12h3M19 12h3M12 2v3M12 19v3M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maptec-ctrl button.maptec-ctrl-geolocate .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath stroke='%230a0a0a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 12h3M19 12h3M12 2v3M12 19v3M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14'/%3E%3C/svg%3E")}.maptec-ctrl button.maptec-ctrl-geolocate:disabled .maptec-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23666' viewBox='0 0 24 24'%3E%3Cpath stroke='%230a0a0a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 12h3M19 12h3M12 2v3M12 19v3M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14'/%3E%3C/svg%3E")}}@keyframes maptec-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.maptec-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='66' height='15' fill='none' viewBox='0 0 66 15'%3E%3Cg filter='url(%23a)'%3E%3Cpath fill='%23151c3b' fill-rule='evenodd' d='M43.265 3.662a2.9 2.9 0 0 1 1.56.435q.694.434 1.087 1.185.393.74.393 1.62t-.393 1.632a3.04 3.04 0 0 1-1.086 1.174 2.9 2.9 0 0 1-1.56.434q-.855 0-1.469-.493a3 3 0 0 1-.312-.302v2.744q0 .293-.15.446-.15.152-.44.152h-.3q-.288 0-.439-.152-.15-.152-.15-.446V4.39q0-.293.15-.446t.44-.153h.3q.289 0 .44.153.15.152.15.446v.072q.144-.157.311-.295.613-.505 1.468-.505m-.115 1.35q-.543 0-.948.235t-.624.67a2.1 2.1 0 0 0-.22.985q0 .564.22.998.219.435.624.669t.948.235q.428 0 .786-.235.37-.246.578-.68.207-.436.208-.987 0-.552-.208-.974a1.6 1.6 0 0 0-.567-.67 1.38 1.38 0 0 0-.797-.246M35.321 3.662q.855 0 1.456.505.175.14.324.302V4.39q0-.282.15-.434a.59.59 0 0 1 .44-.165h.335q.277 0 .427.165.162.152.162.434v5.024a.6.6 0 0 1-.162.446q-.15.153-.427.153h-.336a.61.61 0 0 1-.439-.153q-.15-.165-.15-.446v-.073q-.15.164-.324.308-.6.493-1.456.493a2.9 2.9 0 0 1-1.56-.434 3.04 3.04 0 0 1-1.087-1.174 3.5 3.5 0 0 1-.393-1.632 3.4 3.4 0 0 1 .393-1.62q.393-.75 1.087-1.185.693-.435 1.56-.435M35.437 5q-.427 0-.798.247-.359.234-.566.67-.208.433-.208.985t.208.986q.208.423.566.67.358.234.798.234.543 0 .947-.235.405-.234.625-.657.22-.434.22-.998t-.22-.998a1.58 1.58 0 0 0-.625-.669A1.85 1.85 0 0 0 35.437 5M55.27 3.662q.718 0 1.342.305.635.306 1.063.928.44.61.566 1.502.081.41-.15.658-.231.235-.647.235h-3.952q.046.366.184.645.208.423.636.646.427.21 1.075.211.323 0 .624-.129.3-.14.543-.4.219-.175.393-.199.184-.035.393.106l.254.176q.242.176.266.387.034.211-.173.411-.474.47-1.075.74-.602.258-1.226.258-1.005 0-1.757-.423a3 3 0 0 1-1.167-1.162 3.4 3.4 0 0 1-.404-1.667q0-.927.404-1.655a2.96 2.96 0 0 1 1.144-1.15 3.3 3.3 0 0 1 1.665-.423m0 1.35q-.589 0-.993.223a1.4 1.4 0 0 0-.601.634 2 2 0 0 0-.083.2h3.18l-.034-.083q-.208-.516-.59-.74a1.6 1.6 0 0 0-.878-.234' clip-rule='evenodd'/%3E%3Cpath fill='%23151c3b' d='M62.483 3.662q.694 0 1.306.282t1.052.786q.195.212.15.435-.046.21-.277.352l-.312.188q-.22.129-.405.094a1 1 0 0 1-.381-.235 1.3 1.3 0 0 0-.497-.34 1.7 1.7 0 0 0-.636-.106q-.52 0-.913.223a1.5 1.5 0 0 0-.601.622 2 2 0 0 0-.208.939q0 .54.208.95.22.4.6.623a1.9 1.9 0 0 0 .914.211q.358 0 .636-.117a1.9 1.9 0 0 0 .543-.376q.209-.187.381-.21.185-.036.405.116l.266.188q.243.176.277.4.034.21-.173.399-.45.48-1.052.774-.6.282-1.283.282a3.1 3.1 0 0 1-1.607-.434 3.3 3.3 0 0 1-1.167-1.174 3.24 3.24 0 0 1-.428-1.632q0-.88.428-1.62.44-.75 1.167-1.185a3.1 3.1 0 0 1 1.607-.435M29 3.662q.578 0 1.052.34.474.341.751.987.278.645.278 1.526v2.911q0 .282-.15.434t-.44.153h-.3q-.29 0-.44-.153-.15-.152-.15-.434V6.515q0-.493-.139-.799-.127-.316-.358-.457a.9.9 0 0 0-.497-.141q-.416 0-.728.176t-.497.599q-.185.421-.185 1.138v2.383q0 .294-.15.446t-.44.153h-.3q-.288 0-.44-.153-.15-.152-.15-.446v-2.9q0-.492-.138-.798-.127-.316-.358-.457a.9.9 0 0 0-.497-.141q-.416 0-.729.176-.311.176-.497.599-.184.421-.184 1.138v2.383q0 .294-.15.446t-.44.153h-.3q-.29 0-.44-.153-.15-.152-.15-.446V4.39q0-.293.15-.446t.44-.153h.3q.29 0 .44.153.146.15.15.435.06-.054.127-.106.751-.61 1.676-.61.577 0 1.051.34.39.28.647.767.233-.277.51-.497.75-.61 1.675-.61M49.2 1.808q.29 0 .44.152.15.153.15.435V3.79h1.04q.278 0 .416.141.14.141.139.411v.294q0 .258-.139.41-.138.141-.416.141h-1.04v2.09q0 .423.08.68a.77.77 0 0 0 .313.388q.219.13.636.176.288.047.427.188.14.14.139.4v.304a.6.6 0 0 1-.162.447q-.15.152-.428.129-1.282-.118-1.884-.74-.6-.634-.6-1.737V5.188h-.59q-.266 0-.416-.14a.6.6 0 0 1-.139-.411v-.294q0-.27.139-.41.15-.142.416-.142h.59V2.406q0-.293.15-.446.15-.152.439-.152z'/%3E%3Cpath fill='%2319234a' d='M18.534 12.001c0 .38-.303.689-.677.689h-2.073a.683.683 0 0 1-.678-.689V3.89c0-.181.058-.359.171-.5.602-.748 1.206-1.233 1.959-1.513.172-.064.353-.105.534-.134.403-.066.764.275.764.69zM18.534.538c-1.332.028-2.454.238-3.428.708V.688c0-.38.304-.688.678-.688h2.22c.293 0 .53.241.53.538'/%3E%3Cpath fill='%2319234a' fill-rule='evenodd' d='M9.314 0c.57 0 1.08.362 1.274.907l1.324 3.706c-.74 1.066-1.683 2.318-4.01 3.662C5.905 9.428 3.858 9.71 2.369 9.604L5.48.906A1.36 1.36 0 0 1 6.755 0zm-.992 3.666a.54.54 0 0 0-1.032.03L6.4 6.82c-.138.479.363.863.768.58.26-.184.544-.39.827-.612.377-.295.614-.531.763-.71.212-.254.197-.592.087-.906z' clip-rule='evenodd'/%3E%3Cpath fill='%23148df9' d='M7.298 8.13c-2.196 1.178-4.326 1.44-5.632 1.3-.41-.045-.82.261-.608.62.4.677 3.325 1.084 5.317.519S8.591 9.563 9.1 9.356c.508-.206-.13.908.562.908s1.822-.96 2.575-2.592 1.413-4.952 4.035-6.019c1.388-.565 2.32-.395 2.99-.084.25.116.484-.114.296-.318-1.85-2.008-5.544-.446-7.184 1.306C10.42 4.642 10.319 6.51 7.298 8.13'/%3E%3Cpath fill='%2319234a' d='M2.004 11.33c.918.202 2.191.308 3.316.29l-.156.55a.68.68 0 0 1-.65.5H2.507a.686.686 0 0 1-.644-.901z'/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id='a' width='66' height='15' x='0' y='0' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeColorMatrix in='SourceAlpha' result='hardAlpha' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0'/%3E%3CfeOffset dy='1'/%3E%3CfeGaussianBlur stdDeviation='.5'/%3E%3CfeComposite in2='hardAlpha' operator='out'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3CfeBlend in2='BackgroundImageFix' result='effect1_dropShadow_2074_179'/%3E%3CfeBlend in='SourceGraphic' in2='effect1_dropShadow_2074_179' result='shape'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");background-repeat:no-repeat;display:block;margin:0;overflow:hidden;width:88px}.maptec-ctrl-logo,.maptec-ctrl-logo.maptec-compact{background-position:0;background-size:100% 100%;height:20px}.maptec-ctrl-logo.maptec-compact{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='15' fill='none' viewBox='0 0 21 15'%3E%3Cg filter='url(%23a)'%3E%3Cpath fill='%2319234a' d='M18.534 12.001c0 .38-.303.689-.677.689h-2.073a.683.683 0 0 1-.678-.689V3.89c0-.181.058-.359.171-.5.602-.748 1.206-1.233 1.959-1.513.172-.064.353-.105.534-.134.403-.066.764.275.764.69zM18.534.538c-1.332.028-2.454.238-3.428.708V.688c0-.38.304-.688.678-.688h2.22c.293 0 .53.241.53.538'/%3E%3Cpath fill='%2319234a' fill-rule='evenodd' d='M9.314 0c.57 0 1.08.362 1.274.907l1.324 3.706c-.74 1.066-1.683 2.318-4.01 3.662C5.905 9.428 3.858 9.71 2.369 9.604L5.48.906A1.36 1.36 0 0 1 6.755 0zm-.992 3.666a.54.54 0 0 0-1.032.03L6.4 6.82c-.138.479.363.863.768.58.26-.184.544-.39.827-.612.377-.295.614-.531.763-.71.212-.254.197-.592.087-.906z' clip-rule='evenodd'/%3E%3Cpath fill='%23148df9' d='M7.298 8.13c-2.196 1.178-4.326 1.44-5.632 1.3-.41-.045-.82.261-.608.62.4.677 3.325 1.084 5.317.519S8.591 9.563 9.1 9.356c.508-.206-.13.908.562.908s1.822-.96 2.575-2.592 1.413-4.952 4.035-6.019c1.388-.565 2.32-.395 2.99-.084.25.116.484-.114.296-.318-1.85-2.008-5.544-.446-7.184 1.306C10.42 4.642 10.319 6.51 7.298 8.13'/%3E%3Cpath fill='%2319234a' d='M2.004 11.33c.918.202 2.191.308 3.316.29l-.156.55a.68.68 0 0 1-.65.5H2.507a.686.686 0 0 1-.644-.901z'/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id='a' width='20.625' height='14.69' x='0' y='0' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeColorMatrix in='SourceAlpha' result='hardAlpha' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0'/%3E%3CfeOffset dy='1'/%3E%3CfeGaussianBlur stdDeviation='.5'/%3E%3CfeComposite in2='hardAlpha' operator='out'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3CfeBlend in2='BackgroundImageFix' result='effect1_dropShadow_2253_68'/%3E%3CfeBlend in='SourceGraphic' in2='effect1_dropShadow_2253_68' result='shape'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");width:28px}@media (forced-colors:active){.maptec-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='66' height='15' fill='none' viewBox='0 0 66 15'%3E%3Cg filter='url(%23a)'%3E%3Cpath fill='%23fbfeff' fill-rule='evenodd' d='M43.265 3.662a2.9 2.9 0 0 1 1.56.435q.694.434 1.087 1.185.393.74.393 1.62t-.393 1.632a3.04 3.04 0 0 1-1.086 1.174 2.9 2.9 0 0 1-1.56.434q-.855 0-1.469-.493a3 3 0 0 1-.312-.302v2.744q0 .293-.15.446-.15.152-.44.152h-.3q-.288 0-.439-.152-.15-.152-.15-.446V4.39q0-.293.15-.446t.44-.153h.3q.289 0 .44.153.15.152.15.446v.072q.144-.157.311-.295.613-.505 1.468-.505m-.115 1.35q-.543 0-.948.235t-.624.67a2.1 2.1 0 0 0-.22.985q0 .564.22.998.219.435.624.669t.948.235q.428 0 .786-.235.37-.246.578-.68.207-.436.208-.987 0-.552-.208-.974a1.6 1.6 0 0 0-.567-.67 1.38 1.38 0 0 0-.797-.246M35.321 3.662q.855 0 1.456.505.175.14.324.302V4.39q0-.282.15-.434a.59.59 0 0 1 .44-.165h.335q.277 0 .427.165.162.152.162.434v5.024a.6.6 0 0 1-.162.446q-.15.153-.427.153h-.336a.61.61 0 0 1-.439-.153q-.15-.165-.15-.446v-.073q-.15.164-.324.308-.6.493-1.456.493a2.9 2.9 0 0 1-1.56-.434 3.04 3.04 0 0 1-1.087-1.174 3.5 3.5 0 0 1-.393-1.632 3.4 3.4 0 0 1 .393-1.62q.393-.75 1.087-1.185.693-.435 1.56-.435M35.437 5q-.427 0-.798.247-.359.234-.566.67-.208.433-.208.985t.208.986q.208.423.566.67.358.234.798.234.543 0 .947-.235.405-.234.625-.657.22-.434.22-.998t-.22-.998a1.58 1.58 0 0 0-.625-.669A1.85 1.85 0 0 0 35.437 5M55.27 3.662q.718 0 1.342.305.635.306 1.063.928.44.61.566 1.502.081.41-.15.658-.231.235-.647.235h-3.952q.046.366.184.645.208.423.636.646.427.21 1.075.211.323 0 .624-.129.3-.14.543-.4.219-.175.393-.199.184-.035.393.106l.254.176q.242.176.266.387.034.211-.173.411-.474.47-1.075.74-.602.258-1.226.258-1.005 0-1.757-.423a3 3 0 0 1-1.167-1.162 3.4 3.4 0 0 1-.404-1.667q0-.927.404-1.655a2.96 2.96 0 0 1 1.144-1.15 3.3 3.3 0 0 1 1.665-.423m0 1.35q-.589 0-.993.223a1.4 1.4 0 0 0-.601.634 2 2 0 0 0-.083.2h3.18l-.034-.083q-.208-.516-.59-.74a1.6 1.6 0 0 0-.878-.234' clip-rule='evenodd'/%3E%3Cpath fill='%23fbfeff' d='M62.483 3.662q.694 0 1.306.282t1.052.786q.195.212.15.435-.046.21-.277.352l-.312.188q-.22.129-.405.094a1 1 0 0 1-.381-.235 1.3 1.3 0 0 0-.497-.34 1.7 1.7 0 0 0-.636-.106q-.52 0-.913.223a1.5 1.5 0 0 0-.601.622 2 2 0 0 0-.208.939q0 .54.208.95.22.4.6.623a1.9 1.9 0 0 0 .914.211q.358 0 .636-.117a1.9 1.9 0 0 0 .543-.376q.209-.187.381-.21.185-.036.405.116l.266.188q.243.176.277.4.034.21-.173.399-.45.48-1.052.774-.6.282-1.283.282a3.1 3.1 0 0 1-1.607-.434 3.3 3.3 0 0 1-1.167-1.174 3.24 3.24 0 0 1-.428-1.632q0-.88.428-1.62.44-.75 1.167-1.185a3.1 3.1 0 0 1 1.607-.435M29 3.662q.578 0 1.052.34.474.341.751.987.278.645.278 1.526v2.911q0 .282-.15.434t-.44.153h-.3q-.29 0-.44-.153-.15-.152-.15-.434V6.515q0-.493-.139-.799-.127-.316-.358-.457a.9.9 0 0 0-.497-.141q-.416 0-.728.176t-.497.599q-.185.421-.185 1.138v2.383q0 .294-.15.446t-.44.153h-.3q-.288 0-.44-.153-.15-.152-.15-.446v-2.9q0-.492-.138-.798-.127-.316-.358-.457a.9.9 0 0 0-.497-.141q-.416 0-.729.176-.311.176-.497.599-.184.421-.184 1.138v2.383q0 .294-.15.446t-.44.153h-.3q-.29 0-.44-.153-.15-.152-.15-.446V4.39q0-.293.15-.446t.44-.153h.3q.29 0 .44.153.146.15.15.435.06-.054.127-.106.751-.61 1.676-.61.577 0 1.051.34.39.28.647.767.233-.277.51-.497.75-.61 1.675-.61M49.2 1.808q.29 0 .44.152.15.153.15.435V3.79h1.04q.278 0 .416.141.14.141.139.411v.294q0 .258-.139.41-.138.141-.416.141h-1.04v2.09q0 .423.08.68a.77.77 0 0 0 .313.388q.219.13.636.176.288.047.427.188.14.14.139.4v.304a.6.6 0 0 1-.162.447q-.15.152-.428.129-1.282-.118-1.884-.74-.6-.634-.6-1.737V5.188h-.59q-.266 0-.416-.14a.6.6 0 0 1-.139-.411v-.294q0-.27.139-.41.15-.142.416-.142h.59V2.406q0-.293.15-.446.15-.152.439-.152zM18.534 12.001c0 .38-.303.689-.677.689h-2.073a.683.683 0 0 1-.678-.689V3.89c0-.181.058-.359.171-.5.602-.748 1.206-1.233 1.959-1.513.172-.064.353-.105.534-.134.403-.066.764.275.764.69zM18.534.538c-1.332.028-2.454.238-3.428.708V.688c0-.38.304-.688.678-.688h2.22c.293 0 .53.241.53.538'/%3E%3Cpath fill='%23fbfeff' fill-rule='evenodd' d='M9.314 0c.57 0 1.08.362 1.274.907l1.324 3.706c-.74 1.066-1.683 2.318-4.01 3.662C5.905 9.428 3.858 9.71 2.369 9.604L5.48.906A1.36 1.36 0 0 1 6.755 0zm-.992 3.666a.54.54 0 0 0-1.032.03L6.4 6.82c-.138.479.363.863.768.58.26-.184.544-.39.827-.612.377-.295.614-.531.763-.71.212-.254.197-.592.087-.906z' clip-rule='evenodd'/%3E%3Cpath fill='%23148df9' d='M7.298 8.13c-2.196 1.178-4.326 1.44-5.632 1.3-.41-.045-.82.261-.608.62.4.677 3.325 1.084 5.317.519S8.591 9.563 9.1 9.356c.508-.206-.13.908.562.908s1.822-.96 2.575-2.592 1.413-4.952 4.035-6.019c1.388-.565 2.32-.395 2.99-.084.25.116.484-.114.296-.318-1.85-2.008-5.544-.446-7.184 1.306C10.42 4.642 10.319 6.51 7.298 8.13'/%3E%3Cpath fill='%23fbfeff' d='M2.004 11.33c.918.202 2.191.308 3.316.29l-.156.55a.68.68 0 0 1-.65.5H2.507a.686.686 0 0 1-.644-.901z'/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id='a' width='66' height='15' x='0' y='0' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeColorMatrix in='SourceAlpha' result='hardAlpha' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0'/%3E%3CfeOffset dy='1'/%3E%3CfeGaussianBlur stdDeviation='.5'/%3E%3CfeComposite in2='hardAlpha' operator='out'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3CfeBlend in2='BackgroundImageFix' result='effect1_dropShadow_2253_28'/%3E%3CfeBlend in='SourceGraphic' in2='effect1_dropShadow_2253_28' result='shape'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E")}.maptec-ctrl-logo.maptec-compact{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='15' fill='none' viewBox='0 0 21 15'%3E%3Cg filter='url(%23a)'%3E%3Cpath fill='%23fbfeff' d='M18.534 12.001c0 .38-.303.689-.677.689h-2.073a.683.683 0 0 1-.678-.689V3.89c0-.181.058-.359.171-.5.602-.748 1.206-1.233 1.959-1.513.172-.064.353-.105.534-.134.403-.066.764.275.764.69zM18.534.538c-1.332.028-2.454.238-3.428.708V.688c0-.38.304-.688.678-.688h2.22c.293 0 .53.241.53.538'/%3E%3Cpath fill='%23fbfeff' fill-rule='evenodd' d='M9.314 0c.57 0 1.08.362 1.274.907l1.324 3.706c-.74 1.066-1.683 2.318-4.01 3.662C5.905 9.428 3.858 9.71 2.369 9.604L5.48.906A1.36 1.36 0 0 1 6.755 0zm-.992 3.666a.54.54 0 0 0-1.032.03L6.4 6.82c-.138.479.363.863.768.58.26-.184.544-.39.827-.612.377-.295.614-.531.763-.71.212-.254.197-.592.087-.906z' clip-rule='evenodd'/%3E%3Cpath fill='%23148df9' d='M7.298 8.13c-2.196 1.178-4.326 1.44-5.632 1.3-.41-.045-.82.261-.608.62.4.677 3.325 1.084 5.317.519S8.591 9.563 9.1 9.356c.508-.206-.13.908.562.908s1.822-.96 2.575-2.592 1.413-4.952 4.035-6.019c1.388-.565 2.32-.395 2.99-.084.25.116.484-.114.296-.318-1.85-2.008-5.544-.446-7.184 1.306C10.42 4.642 10.319 6.51 7.298 8.13'/%3E%3Cpath fill='%23fbfeff' d='M2.004 11.33c.918.202 2.191.308 3.316.29l-.156.55a.68.68 0 0 1-.65.5H2.507a.686.686 0 0 1-.644-.901z'/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id='a' width='20.625' height='14.69' x='0' y='0' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeColorMatrix in='SourceAlpha' result='hardAlpha' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0'/%3E%3CfeOffset dy='1'/%3E%3CfeGaussianBlur stdDeviation='.5'/%3E%3CfeComposite in2='hardAlpha' operator='out'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3CfeBlend in2='BackgroundImageFix' result='effect1_dropShadow_2253_82'/%3E%3CfeBlend in='SourceGraphic' in2='effect1_dropShadow_2253_82' result='shape'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maptec-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='66' height='15' fill='none' viewBox='0 0 66 15'%3E%3Cg filter='url(%23a)'%3E%3Cpath fill='%23151c3b' fill-rule='evenodd' d='M43.265 3.662a2.9 2.9 0 0 1 1.56.435q.694.434 1.087 1.185.393.74.393 1.62t-.393 1.632a3.04 3.04 0 0 1-1.086 1.174 2.9 2.9 0 0 1-1.56.434q-.855 0-1.469-.493a3 3 0 0 1-.312-.302v2.744q0 .293-.15.446-.15.152-.44.152h-.3q-.288 0-.439-.152-.15-.152-.15-.446V4.39q0-.293.15-.446t.44-.153h.3q.289 0 .44.153.15.152.15.446v.072q.144-.157.311-.295.613-.505 1.468-.505m-.115 1.35q-.543 0-.948.235t-.624.67a2.1 2.1 0 0 0-.22.985q0 .564.22.998.219.435.624.669t.948.235q.428 0 .786-.235.37-.246.578-.68.207-.436.208-.987 0-.552-.208-.974a1.6 1.6 0 0 0-.567-.67 1.38 1.38 0 0 0-.797-.246M35.321 3.662q.855 0 1.456.505.175.14.324.302V4.39q0-.282.15-.434a.59.59 0 0 1 .44-.165h.335q.277 0 .427.165.162.152.162.434v5.024a.6.6 0 0 1-.162.446q-.15.153-.427.153h-.336a.61.61 0 0 1-.439-.153q-.15-.165-.15-.446v-.073q-.15.164-.324.308-.6.493-1.456.493a2.9 2.9 0 0 1-1.56-.434 3.04 3.04 0 0 1-1.087-1.174 3.5 3.5 0 0 1-.393-1.632 3.4 3.4 0 0 1 .393-1.62q.393-.75 1.087-1.185.693-.435 1.56-.435M35.437 5q-.427 0-.798.247-.359.234-.566.67-.208.433-.208.985t.208.986q.208.423.566.67.358.234.798.234.543 0 .947-.235.405-.234.625-.657.22-.434.22-.998t-.22-.998a1.58 1.58 0 0 0-.625-.669A1.85 1.85 0 0 0 35.437 5M55.27 3.662q.718 0 1.342.305.635.306 1.063.928.44.61.566 1.502.081.41-.15.658-.231.235-.647.235h-3.952q.046.366.184.645.208.423.636.646.427.21 1.075.211.323 0 .624-.129.3-.14.543-.4.219-.175.393-.199.184-.035.393.106l.254.176q.242.176.266.387.034.211-.173.411-.474.47-1.075.74-.602.258-1.226.258-1.005 0-1.757-.423a3 3 0 0 1-1.167-1.162 3.4 3.4 0 0 1-.404-1.667q0-.927.404-1.655a2.96 2.96 0 0 1 1.144-1.15 3.3 3.3 0 0 1 1.665-.423m0 1.35q-.589 0-.993.223a1.4 1.4 0 0 0-.601.634 2 2 0 0 0-.083.2h3.18l-.034-.083q-.208-.516-.59-.74a1.6 1.6 0 0 0-.878-.234' clip-rule='evenodd'/%3E%3Cpath fill='%23151c3b' d='M62.483 3.662q.694 0 1.306.282t1.052.786q.195.212.15.435-.046.21-.277.352l-.312.188q-.22.129-.405.094a1 1 0 0 1-.381-.235 1.3 1.3 0 0 0-.497-.34 1.7 1.7 0 0 0-.636-.106q-.52 0-.913.223a1.5 1.5 0 0 0-.601.622 2 2 0 0 0-.208.939q0 .54.208.95.22.4.6.623a1.9 1.9 0 0 0 .914.211q.358 0 .636-.117a1.9 1.9 0 0 0 .543-.376q.209-.187.381-.21.185-.036.405.116l.266.188q.243.176.277.4.034.21-.173.399-.45.48-1.052.774-.6.282-1.283.282a3.1 3.1 0 0 1-1.607-.434 3.3 3.3 0 0 1-1.167-1.174 3.24 3.24 0 0 1-.428-1.632q0-.88.428-1.62.44-.75 1.167-1.185a3.1 3.1 0 0 1 1.607-.435M29 3.662q.578 0 1.052.34.474.341.751.987.278.645.278 1.526v2.911q0 .282-.15.434t-.44.153h-.3q-.29 0-.44-.153-.15-.152-.15-.434V6.515q0-.493-.139-.799-.127-.316-.358-.457a.9.9 0 0 0-.497-.141q-.416 0-.728.176t-.497.599q-.185.421-.185 1.138v2.383q0 .294-.15.446t-.44.153h-.3q-.288 0-.44-.153-.15-.152-.15-.446v-2.9q0-.492-.138-.798-.127-.316-.358-.457a.9.9 0 0 0-.497-.141q-.416 0-.729.176-.311.176-.497.599-.184.421-.184 1.138v2.383q0 .294-.15.446t-.44.153h-.3q-.29 0-.44-.153-.15-.152-.15-.446V4.39q0-.293.15-.446t.44-.153h.3q.29 0 .44.153.146.15.15.435.06-.054.127-.106.751-.61 1.676-.61.577 0 1.051.34.39.28.647.767.233-.277.51-.497.75-.61 1.675-.61M49.2 1.808q.29 0 .44.152.15.153.15.435V3.79h1.04q.278 0 .416.141.14.141.139.411v.294q0 .258-.139.41-.138.141-.416.141h-1.04v2.09q0 .423.08.68a.77.77 0 0 0 .313.388q.219.13.636.176.288.047.427.188.14.14.139.4v.304a.6.6 0 0 1-.162.447q-.15.152-.428.129-1.282-.118-1.884-.74-.6-.634-.6-1.737V5.188h-.59q-.266 0-.416-.14a.6.6 0 0 1-.139-.411v-.294q0-.27.139-.41.15-.142.416-.142h.59V2.406q0-.293.15-.446.15-.152.439-.152z'/%3E%3Cpath fill='%2319234a' d='M18.534 12.001c0 .38-.303.689-.677.689h-2.073a.683.683 0 0 1-.678-.689V3.89c0-.181.058-.359.171-.5.602-.748 1.206-1.233 1.959-1.513.172-.064.353-.105.534-.134.403-.066.764.275.764.69zM18.534.538c-1.332.028-2.454.238-3.428.708V.688c0-.38.304-.688.678-.688h2.22c.293 0 .53.241.53.538'/%3E%3Cpath fill='%2319234a' fill-rule='evenodd' d='M9.314 0c.57 0 1.08.362 1.274.907l1.324 3.706c-.74 1.066-1.683 2.318-4.01 3.662C5.905 9.428 3.858 9.71 2.369 9.604L5.48.906A1.36 1.36 0 0 1 6.755 0zm-.992 3.666a.54.54 0 0 0-1.032.03L6.4 6.82c-.138.479.363.863.768.58.26-.184.544-.39.827-.612.377-.295.614-.531.763-.71.212-.254.197-.592.087-.906z' clip-rule='evenodd'/%3E%3Cpath fill='%23148df9' d='M7.298 8.13c-2.196 1.178-4.326 1.44-5.632 1.3-.41-.045-.82.261-.608.62.4.677 3.325 1.084 5.317.519S8.591 9.563 9.1 9.356c.508-.206-.13.908.562.908s1.822-.96 2.575-2.592 1.413-4.952 4.035-6.019c1.388-.565 2.32-.395 2.99-.084.25.116.484-.114.296-.318-1.85-2.008-5.544-.446-7.184 1.306C10.42 4.642 10.319 6.51 7.298 8.13'/%3E%3Cpath fill='%2319234a' d='M2.004 11.33c.918.202 2.191.308 3.316.29l-.156.55a.68.68 0 0 1-.65.5H2.507a.686.686 0 0 1-.644-.901z'/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id='a' width='66' height='15' x='0' y='0' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeColorMatrix in='SourceAlpha' result='hardAlpha' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0'/%3E%3CfeOffset dy='1'/%3E%3CfeGaussianBlur stdDeviation='.5'/%3E%3CfeComposite in2='hardAlpha' operator='out'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3CfeBlend in2='BackgroundImageFix' result='effect1_dropShadow_2074_179'/%3E%3CfeBlend in='SourceGraphic' in2='effect1_dropShadow_2074_179' result='shape'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E")}.maptec-ctrl-logo.maptec-compact{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='15' fill='none' viewBox='0 0 21 15'%3E%3Cg filter='url(%23a)'%3E%3Cpath fill='%2319234a' d='M18.534 12.001c0 .38-.303.689-.677.689h-2.073a.683.683 0 0 1-.678-.689V3.89c0-.181.058-.359.171-.5.602-.748 1.206-1.233 1.959-1.513.172-.064.353-.105.534-.134.403-.066.764.275.764.69zM18.534.538c-1.332.028-2.454.238-3.428.708V.688c0-.38.304-.688.678-.688h2.22c.293 0 .53.241.53.538'/%3E%3Cpath fill='%2319234a' fill-rule='evenodd' d='M9.314 0c.57 0 1.08.362 1.274.907l1.324 3.706c-.74 1.066-1.683 2.318-4.01 3.662C5.905 9.428 3.858 9.71 2.369 9.604L5.48.906A1.36 1.36 0 0 1 6.755 0zm-.992 3.666a.54.54 0 0 0-1.032.03L6.4 6.82c-.138.479.363.863.768.58.26-.184.544-.39.827-.612.377-.295.614-.531.763-.71.212-.254.197-.592.087-.906z' clip-rule='evenodd'/%3E%3Cpath fill='%23148df9' d='M7.298 8.13c-2.196 1.178-4.326 1.44-5.632 1.3-.41-.045-.82.261-.608.62.4.677 3.325 1.084 5.317.519S8.591 9.563 9.1 9.356c.508-.206-.13.908.562.908s1.822-.96 2.575-2.592 1.413-4.952 4.035-6.019c1.388-.565 2.32-.395 2.99-.084.25.116.484-.114.296-.318-1.85-2.008-5.544-.446-7.184 1.306C10.42 4.642 10.319 6.51 7.298 8.13'/%3E%3Cpath fill='%2319234a' d='M2.004 11.33c.918.202 2.191.308 3.316.29l-.156.55a.68.68 0 0 1-.65.5H2.507a.686.686 0 0 1-.644-.901z'/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id='a' width='20.625' height='14.69' x='0' y='0' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeColorMatrix in='SourceAlpha' result='hardAlpha' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0'/%3E%3CfeOffset dy='1'/%3E%3CfeGaussianBlur stdDeviation='.5'/%3E%3CfeComposite in2='hardAlpha' operator='out'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3CfeBlend in2='BackgroundImageFix' result='effect1_dropShadow_2253_68'/%3E%3CfeBlend in='SourceGraphic' in2='effect1_dropShadow_2253_68' result='shape'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E")}}.maptec-ctrl.maptec-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maptec-ctrl-attrib.maptec-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maptec-ctrl-attrib.maptec-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maptec-ctrl-bottom-left>.maptec-ctrl-attrib.maptec-compact-show,.maptec-ctrl-top-left>.maptec-ctrl-attrib.maptec-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maptec-ctrl-attrib.maptec-compact .maptec-ctrl-attrib-inner{display:none}.maptec-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maptec-ctrl-attrib summary.maptec-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maptec-ctrl-attrib summary.maptec-ctrl-attrib-button::-webkit-details-marker{display:none}.maptec-ctrl-bottom-left .maptec-ctrl-attrib-button,.maptec-ctrl-top-left .maptec-ctrl-attrib-button{left:0}.maptec-ctrl-attrib.maptec-compact .maptec-ctrl-attrib-button,.maptec-ctrl-attrib.maptec-compact-show .maptec-ctrl-attrib-inner{display:block}.maptec-ctrl-attrib.maptec-compact-show .maptec-ctrl-attrib-button{background-color:rgba(0,0,0,.05)}.maptec-ctrl-bottom-right>.maptec-ctrl-attrib.maptec-compact:after{bottom:0;right:0}.maptec-ctrl-top-right>.maptec-ctrl-attrib.maptec-compact:after{right:0;top:0}.maptec-ctrl-top-left>.maptec-ctrl-attrib.maptec-compact:after{left:0;top:0}.maptec-ctrl-bottom-left>.maptec-ctrl-attrib.maptec-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maptec-ctrl-attrib.maptec-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maptec-ctrl-attrib.maptec-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maptec-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maptec-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maptec-attrib-empty{display:none}.maptec-ctrl-scale{background-color:#f8f8f8;border:1px solid #e0e0e0;border-radius:14px;box-sizing:border-box;padding:12px 14px;white-space:nowrap}.maptec-ctrl-scale .map-scale-panel-br__left{display:flex;flex-direction:column;gap:10px}.maptec-ctrl-scale .map-scale-zoom{align-items:baseline;display:flex;gap:6px}.maptec-ctrl-scale .map-scale-zoom-label{color:#6b6b6b;font-size:12px;font-weight:400}.maptec-ctrl-scale .map-scale-zoom-value{color:#333;font-size:14px;font-weight:700}.maptec-ctrl-scale .map-scale-bar-br{align-items:center;display:flex;gap:10px}.maptec-ctrl-scale .map-scale-bar-br__track{background-color:#d8d8d8;border-radius:3px;flex:1;height:2px;min-width:0;overflow:hidden}.maptec-ctrl-scale .map-scale-bar-br__bar{background-color:#5e7fff;border-radius:3px;height:100%;transition:width .15s ease}.maptec-ctrl-scale .map-scale-bar-br__end{color:#333;flex-shrink:0;font-size:14px;font-weight:500}.maptec-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maptec-popup-anchor-top,.maptec-popup-anchor-top-left,.maptec-popup-anchor-top-right{flex-direction:column}.maptec-popup-anchor-bottom,.maptec-popup-anchor-bottom-left,.maptec-popup-anchor-bottom-right{flex-direction:column-reverse}.maptec-popup-anchor-left{flex-direction:row}.maptec-popup-anchor-right{flex-direction:row-reverse}.maptec-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maptec-popup-anchor-top .maptec-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maptec-popup-anchor-top-left .maptec-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maptec-popup-anchor-top-right .maptec-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maptec-popup-anchor-bottom .maptec-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maptec-popup-anchor-bottom-left .maptec-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maptec-popup-anchor-bottom-right .maptec-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maptec-popup-anchor-left .maptec-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maptec-popup-anchor-right .maptec-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maptec-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maptec-popup-close-button:hover{background-color:rgba(0,0,0,.05)}.maptec-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maptec-popup-anchor-top-left .maptec-popup-content{border-top-left-radius:0}.maptec-popup-anchor-top-right .maptec-popup-content{border-top-right-radius:0}.maptec-popup-anchor-bottom-left .maptec-popup-content{border-bottom-left-radius:0}.maptec-popup-anchor-bottom-right .maptec-popup-content{border-bottom-right-radius:0}.maptec-popup-track-pointer{display:none}.maptec-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maptec-map:hover .maptec-popup-track-pointer{display:flex}.maptec-map:active .maptec-popup-track-pointer{display:none}.maptec-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maptec-user-location-dot,.maptec-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maptec-user-location-dot:before{animation:maptec-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maptec-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maptec-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maptec-user-location-dot-stale{background-color:#aaa}.maptec-user-location-dot-stale:after{display:none}.maptec-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maptec-crosshair,.maptec-crosshair .maptec-interactive,.maptec-crosshair .maptec-interactive:active{cursor:crosshair}.maptec-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maptec-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maptec-cooperative-gesture-screen.maptec-show{opacity:1;transition:opacity .05s}.maptec-cooperative-gesture-screen .maptec-mobile-message{display:none}@media (hover:none),(pointer:coarse){.maptec-cooperative-gesture-screen .maptec-desktop-message{display:none}.maptec-cooperative-gesture-screen .maptec-mobile-message{display:block}}.maptec-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}.jas-ctrl-eye{border:2px solid rgba(0,0,0,.1);border-radius:5px;height:100px;margin:8px;overflow:hidden;position:relative;width:150px}
package/package.json ADDED
@@ -0,0 +1,206 @@
1
+ {
2
+ "name": "@maptec/maptec-js",
3
+ "description": "Maptec GL JS - 基于WebGL的地图引擎库,用于构建Web地图应用。",
4
+ "version": "0.0.1",
5
+ "main": "Maptec.js",
6
+ "style": "maptec.css",
7
+ "license": "BSD-3-Clause",
8
+ "homepage": "",
9
+ "funding": "",
10
+ "bugs": {
11
+ "url": ""
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": ""
16
+ },
17
+ "types": "Maptec.d.ts",
18
+ "type": "module",
19
+ "dependencies": {
20
+ "@mapbox/geojson-rewind": "^0.5.2",
21
+ "@mapbox/jsonlint-lines-primitives": "^2.0.2",
22
+ "@mapbox/tiny-sdf": "^2.0.7",
23
+ "@mapbox/unitbezier": "^0.0.1",
24
+ "@mapbox/vector-tile": "^2.0.4",
25
+ "@mapbox/whoots-js": "^3.1.0",
26
+ "@maptec/mlt": "^1.1.2",
27
+ "@maptec/point-geometry": "^1.1.0",
28
+ "@maptec/vt-pbf": "^4.2.1",
29
+ "@types/geojson": "^7946.0.16",
30
+ "@types/geojson-vt": "3.2.5",
31
+ "@types/supercluster": "^7.1.3",
32
+ "earcut": "^3.0.2",
33
+ "fflate": "^0.8.2",
34
+ "geojson-vt": "^4.0.2",
35
+ "gl-matrix": "^3.4.4",
36
+ "json-stringify-pretty-compact": "^4.0.0",
37
+ "kdbush": "^4.0.2",
38
+ "murmurhash-js": "^1.0.0",
39
+ "pbf": "^4.0.1",
40
+ "potpack": "^2.1.0",
41
+ "quickselect": "^3.0.0",
42
+ "supercluster": "^8.0.1",
43
+ "tinyqueue": "^3.0.0"
44
+ },
45
+ "devDependencies": {
46
+ "@mapbox/mapbox-gl-rtl-text": "^0.3.0",
47
+ "@mapbox/mvt-fixtures": "^3.10.0",
48
+ "@rollup/plugin-commonjs": "^29.0.0",
49
+ "@rollup/plugin-json": "^6.1.0",
50
+ "@rollup/plugin-node-resolve": "^16.0.3",
51
+ "@rollup/plugin-replace": "^6.0.3",
52
+ "@rollup/plugin-strip": "^3.0.4",
53
+ "@rollup/plugin-terser": "^0.4.4",
54
+ "@rollup/plugin-typescript": "^12.1.4",
55
+ "@stylistic/eslint-plugin": "^5.6.1",
56
+ "@types/benchmark": "^2.1.5",
57
+ "@types/d3": "^7.4.3",
58
+ "@types/earcut": "^3.0.0",
59
+ "@types/eslint": "^9.6.1",
60
+ "@types/gl": "^6.0.5",
61
+ "@types/jsdom": "^27.0.0",
62
+ "@types/minimist": "^1.2.5",
63
+ "@types/murmurhash-js": "^1.0.6",
64
+ "@types/nise": "^1.4.5",
65
+ "@types/node": "^25.0.3",
66
+ "@types/offscreencanvas": "^2019.7.3",
67
+ "@types/pixelmatch": "^5.2.6",
68
+ "@types/pngjs": "^6.0.5",
69
+ "@types/react": "^19.2.7",
70
+ "@types/react-dom": "^19.2.3",
71
+ "@types/request": "^2.48.13",
72
+ "@types/shuffle-seed": "^1.1.3",
73
+ "@types/window-or-global": "^1.0.6",
74
+ "@typescript-eslint/eslint-plugin": "^8.52.0",
75
+ "@typescript-eslint/parser": "^8.52.0",
76
+ "@unicode/unicode-17.0.0": "^1.6.16",
77
+ "@vitest/coverage-v8": "4.0.16",
78
+ "@vitest/eslint-plugin": "^1.6.5",
79
+ "@vitest/ui": "4.0.16",
80
+ "address": "^2.0.3",
81
+ "autoprefixer": "^10.4.23",
82
+ "benchmark": "^2.1.4",
83
+ "canvas": "^3.2.0",
84
+ "cspell": "^9.4.0",
85
+ "cssnano": "^7.1.2",
86
+ "d3": "^7.9.0",
87
+ "d3-queue": "^3.0.7",
88
+ "devtools-protocol": "^0.0.1561482",
89
+ "diff": "^8.0.2",
90
+ "dts-bundle-generator": "^9.5.1",
91
+ "eslint": "^9.39.2",
92
+ "eslint-plugin-import": "^2.32.0",
93
+ "eslint-plugin-react": "^7.37.5",
94
+ "eslint-plugin-tsdoc": "0.5.0",
95
+ "expect": "^30.2.0",
96
+ "glob": "^13.0.0",
97
+ "globals": "^17.0.0",
98
+ "handlebars": "^4.7.8",
99
+ "is-builtin-module": "^5.0.0",
100
+ "javascript-obfuscator": "^5.3.0",
101
+ "jsdom": "^27.4.0",
102
+ "junit-report-builder": "^5.1.1",
103
+ "minimist": "^1.2.8",
104
+ "mock-geolocation": "^1.0.11",
105
+ "monocart-coverage-reports": "^2.12.9",
106
+ "nise": "^6.1.1",
107
+ "npm-font-open-sans": "^1.1.0",
108
+ "npm-run-all": "^4.1.5",
109
+ "pdf-merger-js": "^5.1.2",
110
+ "pixelmatch": "^7.1.0",
111
+ "pngjs": "^7.0.0",
112
+ "postcss": "^8.5.6",
113
+ "postcss-cli": "^11.0.1",
114
+ "postcss-inline-svg": "^6.0.0",
115
+ "pretty-bytes": "^7.1.0",
116
+ "puppeteer": "^24.34.0",
117
+ "react": "^19.2.3",
118
+ "react-dom": "^19.2.3",
119
+ "regenerate": "^1.4.2",
120
+ "rollup": "^4.55.1",
121
+ "rollup-plugin-sourcemaps2": "^0.5.4",
122
+ "rollup-plugin-visualizer": "^6.0.5",
123
+ "rw": "^1.3.3",
124
+ "semver": "^7.7.3",
125
+ "sharp": "^0.34.5",
126
+ "shuffle-seed": "^1.1.6",
127
+ "st": "^3.0.3",
128
+ "stylelint": "^16.26.1",
129
+ "stylelint-config-standard": "^39.0.1",
130
+ "tencentcloud-sdk-nodejs-hunyuan": "^4.1.175",
131
+ "ts-node": "^10.9.2",
132
+ "tslib": "^2.8.1",
133
+ "typedoc": "^0.28.15",
134
+ "typescript": "^5.9.3",
135
+ "vitest": "4.0.16",
136
+ "vitest-webgl-canvas-mock": "^1.1.0"
137
+ },
138
+ "scripts": {
139
+ "generate-dist-package": "node --no-warnings --loader ts-node/esm build/generate-dist-package.js",
140
+ "generate-unicode-data": "node --no-warnings --loader ts-node/esm build/generate-unicode-data.ts",
141
+ "generate-shaders": "node --no-warnings --loader ts-node/esm build/generate-shaders.ts",
142
+ "generate-struct-arrays": "node --no-warnings --loader ts-node/esm build/generate-struct-arrays.ts",
143
+ "generate-style-code": "node --no-warnings --loader ts-node/esm build/generate-style-code.ts",
144
+ "generate-style-spec": "cd src/style/style_reference && node --no-warnings --loader ts-node/esm build/generate-style-spec.ts",
145
+ "generate-typings": "dts-bundle-generator --export-referenced-types=false --umd-module-name=Maptec -o ./dist/Maptec.d.ts ./src/index.ts",
146
+ "docs-api": "node docs/generate-docs.js",
147
+ "docs-translate": "node docs/auto-translate.js",
148
+ "generate-images": "node --no-warnings --loader ts-node/esm build/generate-doc-images.ts",
149
+ "build-dist": "npm run generate-unicode-data && npm run generate-typings && npm run generate-shaders && npm run build-dev && npm run build-csp-dev && npm run build-prod && npm run build-csp",
150
+ "build-public": "npm run codegen && npm run build-prod",
151
+ "copy-dist-files-dev": "cp dist/maptec.css demo/lib/ && cp dist/Maptec-dev.js demo/lib/ && cp dist/Maptec-dev.js.map demo/lib/",
152
+ "copy-dist-files-prod": "cp dist/maptec.css demo/lib/ && cp dist/Maptec.js demo/lib/",
153
+ "_build-dev-bundle": "npm run build-css && node build/create-banner.js && rollup --configPlugin @rollup/plugin-typescript -c --environment BUILD:dev && npm run copy-dist-files-dev",
154
+ "_build-prod-bundle": "npm run build-css && node build/create-banner.js && rollup --configPlugin @rollup/plugin-typescript -c --environment BUILD:production && npm run copy-dist-files-prod",
155
+ "build-dev": "DEPLOY_ENV=dev npm run _build-dev-bundle",
156
+ "build-test": "DEPLOY_ENV=test npm run _build-dev-bundle",
157
+ "build-preprod": "DEPLOY_ENV=preprod npm run _build-prod-bundle",
158
+ "build-prod": "DEPLOY_ENV=test npm run _build-prod-bundle",
159
+ "watch-dev": "rollup --configPlugin @rollup/plugin-typescript -c --environment BUILD:dev --watch",
160
+ "build-csp": "rollup --configPlugin @rollup/plugin-typescript -c rollup.config.csp.ts --environment BUILD:production",
161
+ "build-csp-dev": "rollup --configPlugin @rollup/plugin-typescript -c rollup.config.csp.ts --environment BUILD:dev",
162
+ "build-css": "postcss -o dist/maptec.css src/css/maptec.css && mkdir -p demo/lib && cp dist/maptec.css demo/lib/",
163
+ "watch-css": "postcss --watch -o dist/maptec.css src/css/maptec.css",
164
+ "build-benchmarks": "npm run build-dev && rollup --configPlugin @rollup/plugin-typescript -c test/bench/rollup_config_benchmarks.ts",
165
+ "watch-benchmarks": "rollup --configPlugin @rollup/plugin-typescript -c test/bench/rollup_config_benchmarks.ts --watch",
166
+ "bundle-stats": "rollup --configPlugin @rollup/plugin-typescript -c --environment BUILD:production,BUNDLE:stats",
167
+ "spellcheck": "cspell",
168
+ "docs": "node --no-warnings --loader ts-node/esm build/generate-typedoc-landing.ts && typedoc && node --no-warnings --loader ts-node/esm build/generate-docs.ts",
169
+ "start-server": "st --no-cache -H localhost --port 9966 .",
170
+ "start-docs": "docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material",
171
+ "start": "run-p watch-css watch-dev start-server",
172
+ "start-bench": "run-p watch-css watch-benchmarks start-server",
173
+ "lint": "eslint",
174
+ "lint-css": "stylelint **/*.css --fix -f verbose",
175
+ "test": "run-p lint lint-css test-render test-unit test-integration test-build",
176
+ "test-unit": "vitest run --config vitest.config.unit.ts",
177
+ "test-unit-ci": "vitest run --config vitest.config.unit.ts --coverage",
178
+ "test-integration": "vitest run --config vitest.config.integration.ts",
179
+ "test-integration-ci": "vitest run --config vitest.config.integration.ts --coverage",
180
+ "test-build": "vitest run --config vitest.config.build.ts",
181
+ "test-build-ci": "vitest run --config vitest.config.build.ts --coverage",
182
+ "test-watch-roots": "vitest --config vitest.config.unit.ts --watch",
183
+ "test-render": "node --no-warnings --loader ts-node/esm test/integration/render/run_render_tests.ts",
184
+ "codegen": "run-p --print-label generate-dist-package generate-style-code generate-style-spec generate-unicode-data generate-struct-arrays generate-shaders && npm run generate-typings",
185
+ "benchmark": "node --no-warnings --loader ts-node/esm test/bench/run-benchmarks.ts",
186
+ "gl-stats": "node --no-warnings --loader ts-node/esm test/bench/gl-stats.ts",
187
+ "prepare": "echo \"skip prepare\"",
188
+ "typecheck": "tsc --noEmit && tsc --project tsconfig.dist.json",
189
+ "tsnode": "node --experimental-loader=ts-node/esm --no-warnings",
190
+ "install:maptec": "npm install --registry=https://npm.cnb.cool/maptechbj/applied/openplatform/maptec-dependencies/-/packages/ @maptec/point-geometry@^1.1.0",
191
+ "prepublishOnly": "cp dist/Maptec.js . && cp dist/Maptec.d.ts . && cp dist/maptec.css .",
192
+ "postpublish": "rm -f Maptec.js Maptec.d.ts maptec.css",
193
+ "restore-project-readme": "test -f .readme-project-backup && mv .readme-project-backup README.md || true",
194
+ "publish:private": "npm run build-dist && npm publish --registry=https://npm.cnb.cool/maptechbj/applied/openplatform/maptec-js-sdk/-/packages/",
195
+ "publish:public": "npm run build-public && cp README.md .readme-project-backup && cp README.npm.md README.md && npm publish --access public --registry=https://registry.npmjs.org/ ; npm run restore-project-readme"
196
+ },
197
+ "files": [
198
+ "Maptec.js",
199
+ "Maptec.d.ts",
200
+ "maptec.css"
201
+ ],
202
+ "engines": {
203
+ "npm": ">=8.1.0",
204
+ "node": ">=16.14.0"
205
+ }
206
+ }