@edugis-org/webmapx 0.1.0 → 0.1.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
CHANGED
|
@@ -1,149 +1,61 @@
|
|
|
1
1
|
# WebMapX
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
It supports multiple map engines out of the box: MapLibre, OpenLayers, Leaflet, and Cesium.
|
|
3
|
+
Config-driven web map UI with adapters for MapLibre, OpenLayers, Leaflet, and Cesium.
|
|
5
4
|
|
|
6
|
-
Live
|
|
5
|
+
**[Live demo](https://edugis-org.github.io/webmapx/)**
|
|
7
6
|
|
|
8
|
-
##
|
|
7
|
+
## What it does
|
|
9
8
|
|
|
10
|
-
-
|
|
11
|
-
- Switch map engines without rewriting
|
|
12
|
-
-
|
|
13
|
-
-
|
|
9
|
+
- Drop a config file, get a full map UI — toolbar, layer tree, legend, tools
|
|
10
|
+
- Switch map engines (MapLibre / OpenLayers / Leaflet / Cesium) without rewriting tools
|
|
11
|
+
- 15+ built-in tools: draw, measure, search, print, import, geolocation, 3D, …
|
|
12
|
+
- Lazy loading — only tools and engines the config requests download
|
|
13
|
+
- Plugin system for custom tools
|
|
14
|
+
- i18n — English built-in, other locales lazy-loaded from CDN
|
|
14
15
|
|
|
15
|
-
##
|
|
16
|
+
## Quick start
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
- Toolbar and tool panel
|
|
19
|
-
- Layer tree and layer overview/legend
|
|
20
|
-
- Coordinates, zoom level, scale control, geolocation, search, measure tools
|
|
21
|
-
- Inset map and navigation controls
|
|
18
|
+
### CDN (no build tools needed)
|
|
22
19
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
- npm 10 or newer (usually bundled with Node.js)
|
|
29
|
-
- Git
|
|
30
|
-
- A modern browser (Chrome, Edge, Firefox, or Safari)
|
|
31
|
-
|
|
32
|
-
Optional but recommended:
|
|
33
|
-
|
|
34
|
-
- VS Code for editing and debugging
|
|
35
|
-
|
|
36
|
-
Quick version check:
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
node -v
|
|
40
|
-
npm -v
|
|
41
|
-
git --version
|
|
20
|
+
```html
|
|
21
|
+
<script type="module">
|
|
22
|
+
import { WebMapX } from 'https://cdn.jsdelivr.net/npm/@edugis-org/webmapx@0.1.0/dist-lib/webmapx.js'
|
|
23
|
+
WebMapX.mount('#map', { config: './mymap.json' })
|
|
24
|
+
</script>
|
|
42
25
|
```
|
|
43
26
|
|
|
44
|
-
|
|
27
|
+
→ [CDN quickstart](./docs/developer/cdn-quickstart.md)
|
|
45
28
|
|
|
46
|
-
###
|
|
29
|
+
### npm
|
|
47
30
|
|
|
48
31
|
```bash
|
|
49
|
-
|
|
50
|
-
cd webmapx
|
|
32
|
+
npm install @edugis-org/webmapx maplibre-gl
|
|
51
33
|
```
|
|
52
34
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
npm install
|
|
35
|
+
```js
|
|
36
|
+
import { WebMapX } from '@edugis-org/webmapx'
|
|
37
|
+
WebMapX.mount('#map', { config: './mymap.json' })
|
|
57
38
|
```
|
|
58
39
|
|
|
59
|
-
|
|
40
|
+
→ [npm quickstart](./docs/developer/npm-quickstart.md)
|
|
60
41
|
|
|
61
|
-
|
|
62
|
-
npm run dev
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Open the printed local URL in your browser.
|
|
66
|
-
|
|
67
|
-
### 4) Build for production
|
|
42
|
+
### Clone and run locally
|
|
68
43
|
|
|
69
44
|
```bash
|
|
70
|
-
|
|
45
|
+
git clone https://github.com/edugis-org/webmapx.git
|
|
46
|
+
cd webmapx && npm install && npm run dev
|
|
71
47
|
```
|
|
72
48
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
npm run preview
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Screenshots
|
|
80
|
-
|
|
81
|
-
Add UI images here so new users can understand the project in seconds.
|
|
82
|
-
|
|
83
|
-
- Full application view
|
|
84
|
-
- Layer panel open
|
|
85
|
-
- Tool interaction (search/measure/settings)
|
|
86
|
-
|
|
87
|
-
Suggested paths:
|
|
88
|
-
|
|
89
|
-
- `docs/images/webmapx-overview.png`
|
|
90
|
-
- `docs/images/webmapx-layer-panel.png`
|
|
91
|
-
- `docs/images/webmapx-tool-example.png`
|
|
92
|
-
- `docs/images/webmapxlegend.png`
|
|
93
|
-
|
|
94
|
-
When images are available, include them like this:
|
|
95
|
-
|
|
96
|
-
```md
|
|
97
|
-

|
|
98
|
-

|
|
99
|
-

|
|
100
|
-

|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-

|
|
104
|
-
|
|
105
|
-
## Configuration
|
|
106
|
-
|
|
107
|
-
The default demo configuration lives in `config/demo.json`.
|
|
108
|
-
|
|
109
|
-
- `layerData` defines runtime sources and layers.
|
|
110
|
-
- `tools.*.items[]` layer-tree entries define the UI tree (`type: "layerTree"`, `tree: [...]`).
|
|
111
|
-
- `state.activeExclusiveLayers` tracks single-selection groups (for example basemaps).
|
|
112
|
-
- `state.activeLayers` controls visible layers.
|
|
113
|
-
|
|
114
|
-
## Cesium Runtime Assets
|
|
115
|
-
|
|
116
|
-
Cesium requires static runtime files (`Workers`, `Assets`, `Widgets`, `ThirdParty`, and `Cesium.js`) at runtime.
|
|
117
|
-
|
|
118
|
-
In this project, those files are copied automatically from `node_modules/cesium/Build/Cesium` into the build output (`dist/cesium`) during `npm run build`.
|
|
119
|
-
|
|
120
|
-
This keeps local and CI/GitHub Pages deployments reproducible without committing Cesium vendor files. For that reason, `public/cesium` is intentionally gitignored.
|
|
49
|
+
→ [GitHub / contributor quickstart](./docs/developer/github-quickstart.md)
|
|
121
50
|
|
|
122
51
|
## Documentation
|
|
123
52
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
- Developer guide: [docs/DEVELOPER_GUIDE.md](./docs/DEVELOPER_GUIDE.md)
|
|
131
|
-
- Developer architecture:
|
|
132
|
-
- Rules: [Architecture Rules](./docs/DEVELOPER_GUIDE.md#i-architecture-rules)
|
|
133
|
-
- Flow: [Data Flow](./docs/DEVELOPER_GUIDE.md#ii-data-flow)
|
|
134
|
-
- Diagram: [Architecture Overview](./docs/DEVELOPER_GUIDE.md#v-architecture-overview)
|
|
135
|
-
- Engine contracts: [docs/developer/engine-interface.md](./docs/developer/engine-interface.md)
|
|
136
|
-
- Engineering rules: [docs/developer/engineering-rules.md](./docs/developer/engineering-rules.md)
|
|
137
|
-
- Changelog: [CHANGELOG.md](./CHANGELOG.md)
|
|
138
|
-
|
|
139
|
-
## Commands
|
|
140
|
-
|
|
141
|
-
- `npm run dev`: start development server
|
|
142
|
-
- `npm run start`: alias for dev server
|
|
143
|
-
- `npm run build`: production build
|
|
144
|
-
- `npm run preview`: preview production build
|
|
145
|
-
- `npm run test`: run test suite
|
|
53
|
+
- [CDN quickstart](./docs/developer/cdn-quickstart.md)
|
|
54
|
+
- [npm quickstart](./docs/developer/npm-quickstart.md)
|
|
55
|
+
- [GitHub / contributor quickstart](./docs/developer/github-quickstart.md)
|
|
56
|
+
- [Plugin authoring](./docs/developer/plugin-authoring.md)
|
|
57
|
+
- [Developer guide](./docs/DEVELOPER_GUIDE.md)
|
|
146
58
|
|
|
147
|
-
##
|
|
59
|
+
## License
|
|
148
60
|
|
|
149
|
-
|
|
61
|
+
ISC
|
package/dist-lib/{webmapx-coordinates-tool-jeWohup9.js → webmapx-coordinates-tool-CNRwc0of.js}
RENAMED
|
@@ -3,7 +3,7 @@ import { t } from "./webmapx-base-tool-Dm9NAWLD.js";
|
|
|
3
3
|
import { i as n, n as r, o as i } from "./decorators-B35AgiCU.js";
|
|
4
4
|
import { css as a, html as o, nothing as s } from "lit";
|
|
5
5
|
//#region src/utils/epsg-lookup-manager.ts
|
|
6
|
-
var c = "https://cdn.jsdelivr.net/npm/@edugis-org/webmapx@0.1.
|
|
6
|
+
var c = "https://cdn.jsdelivr.net/npm/@edugis-org/webmapx@0.1.1/public", l = 6e4, u = new class {
|
|
7
7
|
constructor() {
|
|
8
8
|
this.worker = null, this.isReady = !1, this.isInitializing = !1, this.initPromise = null, this.pendingRequests = /* @__PURE__ */ new Map(), this.requestCounter = 0, this.idleTimeout = null, this.idleTimeoutMs = l;
|
|
9
9
|
}
|
package/dist-lib/webmapx.js
CHANGED
|
@@ -26,7 +26,7 @@ var i = {
|
|
|
26
26
|
"3d": () => import("./webmapx-3d-tool-D4CTD2gB.js"),
|
|
27
27
|
truearea: () => import("./webmapx-truearea-tool-CMB4Orm-.js"),
|
|
28
28
|
"view-mode": () => import("./webmapx-view-mode-tool-CUpLNjOj.js"),
|
|
29
|
-
coordinates: () => import("./webmapx-coordinates-tool-
|
|
29
|
+
coordinates: () => import("./webmapx-coordinates-tool-CNRwc0of.js"),
|
|
30
30
|
settings: () => import("./webmapx-settings-DDEJ8aoV.js"),
|
|
31
31
|
"config-edit": () => import("./webmapx-config-edit-tool-DCTyxqTk.js")
|
|
32
32
|
};
|
|
@@ -1281,7 +1281,7 @@ function ce(e, t) {
|
|
|
1281
1281
|
}
|
|
1282
1282
|
//#endregion
|
|
1283
1283
|
//#region src/bootstrap/locale-loader.ts
|
|
1284
|
-
var le = "https://cdn.jsdelivr.net/npm/@edugis-org/webmapx@0.1.
|
|
1284
|
+
var le = "https://cdn.jsdelivr.net/npm/@edugis-org/webmapx@0.1.1/src/locales";
|
|
1285
1285
|
async function $(e) {
|
|
1286
1286
|
if (Z.hasResourceBundle(e, "webmapx")) {
|
|
1287
1287
|
await Z.changeLanguage(e);
|