@vcmap/ui 6.3.12 → 6.3.13

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 (74) hide show
  1. package/build/build.js +5 -0
  2. package/build/staging/Dockerfile +2 -0
  3. package/config/base.config.json +207 -404
  4. package/config/clipping.config.json +16 -80
  5. package/config/cluster.config.json +2 -2
  6. package/config/components-show-case.config.json +1 -1
  7. package/config/concepts-show-case.config.json +1 -1
  8. package/config/dev/geojson.config.json +491 -0
  9. package/config/{i3s.config.json → dev/i3s.config.json} +78 -150
  10. package/config/{mapbox.config.json → dev/mapbox.config.json} +24 -58
  11. package/config/dev/vector-tile.config.json +196 -0
  12. package/config/{wms-layers.config.json → dev/wms.config.json} +22 -39
  13. package/config/dev.config.json +91 -887
  14. package/config/geofence.config.json +2 -4
  15. package/config/graph-feature-info.config.json +84 -0
  16. package/config/guided-tour.config.json +2 -2
  17. package/config/hello-world.config.json +1 -1
  18. package/config/projects.config.json +19 -20
  19. package/config/splashscreen.config.json +1 -1
  20. package/config/theming.config.json +1 -1
  21. package/config/www/city-planning.config.json +215 -0
  22. package/config/www/climate-environment.config.json +1244 -0
  23. package/config/www/iot-sensors.config.json +440 -0
  24. package/config/www/soest.config.json +632 -0
  25. package/config/www.config.json +1352 -1722
  26. package/dist/.htaccess +5 -0
  27. package/dist/assets/{cesium-230199a8.js → cesium-d2fefdc2.js} +20646 -20062
  28. package/dist/assets/cesium.js +1 -1
  29. package/dist/assets/{core-b3cc239c.js → core-be181847.js} +1125 -1125
  30. package/dist/assets/core-workers/panoramaImageWorker.js +1 -1
  31. package/dist/assets/core.js +1 -1
  32. package/dist/assets/ol.js +1 -1
  33. package/dist/assets/ui-8f8426e4.css +1 -0
  34. package/dist/assets/{ui-aaaf46c0.js → ui-8f8426e4.js} +13218 -12512
  35. package/dist/assets/ui.js +1 -1
  36. package/dist/assets/vue.js +1 -1
  37. package/dist/assets/{vuetify-a9ccbd51.js → vuetify-8df23ea4.js} +1 -1
  38. package/dist/assets/vuetify.js +1 -1
  39. package/package.json +2 -2
  40. package/plugins/@vcmap-show-case/extent-example/src/ExtentExample.vue +16 -2
  41. package/plugins/@vcmap-show-case/icons-example/src/AllIconsComponent.vue +7 -5
  42. package/plugins/@vcmap-show-case/notifier-tester/src/NotifierTester.vue +5 -6
  43. package/plugins/@vcmap-show-case/project-selector/README.md +18 -7
  44. package/plugins/@vcmap-show-case/project-selector/src/ProjectSelectorComponent.vue +9 -0
  45. package/plugins/@vcmap-show-case/project-selector/src/index.js +87 -27
  46. package/plugins/@vcmap-show-case/simple-graph/src/SimpleGraphComponent.vue +10 -3
  47. package/plugins/@vcmap-show-case/simple-graph/src/index.js +10 -1
  48. package/plugins/@vcmap-show-case/switch-map-callback-example/README.md +1 -1
  49. package/plugins/package.json +2 -1
  50. package/src/application/VcsApp.vue +3 -7
  51. package/src/application/attributionsHelper.d.ts +27 -5
  52. package/src/application/attributionsHelper.js +116 -58
  53. package/src/components/lists/VcsGroupedList.vue +29 -1
  54. package/src/components/lists/VcsList.vue +35 -4
  55. package/src/components/lists/VcsList.vue.d.ts +2 -0
  56. package/src/components/lists/VcsTreeview.vue +63 -31
  57. package/src/components/lists/VcsTreeview.vue.d.ts +9 -0
  58. package/src/contentTree/LayerTree.vue +13 -2
  59. package/src/featureInfo/ClusterFeatureComponent.vue +1 -0
  60. package/src/manager/window/WindowComponent.vue +5 -1
  61. package/src/vcsUiApp.d.ts +19 -7
  62. package/src/vcsUiApp.js +17 -0
  63. package/config/aerowest.config.json +0 -386
  64. package/config/analysis.config.json +0 -17
  65. package/config/dynamic-layer.config.json +0 -33
  66. package/config/graphFeatureInfo.config.json +0 -141
  67. package/config/pano.config.json +0 -726
  68. package/config/solar.config.json +0 -66
  69. package/config/vectorTile.config.json +0 -112
  70. package/dist/assets/ui-aaaf46c0.css +0 -1
  71. /package/dist/assets/core-workers/{panoramaImageWorker.js-495a0b47.js → panoramaImageWorker.js-eecf04e1.js} +0 -0
  72. /package/dist/assets/{ol-2769767e.js → ol-3438e1c5.js} +0 -0
  73. /package/dist/assets/{vue-c9f45cfc.js → vue-dd509a16.js} +0 -0
  74. /package/dist/assets/{vuetify-a9ccbd51.css → vuetify-8df23ea4.css} +0 -0
@@ -1,89 +1,12 @@
1
1
  {
2
2
  "name": "I3S Showcase",
3
- "_id": "i3sConfig",
4
- "startingViewpointName": "madrid",
5
- "viewpoints": [
6
- {
7
- "type": "Viewpoint",
8
- "name": "madrid",
9
- "distance": 385.649179250111,
10
- "cameraPosition": [
11
- -3.7074950377293665, 40.41447587819317, 998.4592039649874
12
- ],
13
- "groundPosition": [
14
- -3.7060776232890666, 40.41553577294265, 651.4815445653036
15
- ],
16
- "heading": 45.627573734011825,
17
- "pitch": -64.12249201120223,
18
- "roll": 359.99875023385175,
19
- "animate": true
20
- },
21
- {
22
- "type": "Viewpoint",
23
- "name": "frankfurt",
24
- "distance": 412.40461652196285,
25
- "cameraPosition": [
26
- 8.699818348916265, 50.106111617534175, 306.9558677995947
27
- ],
28
- "groundPosition": [
29
- 8.697964404193877, 50.10909149178471, 100.5139641145817
30
- ],
31
- "heading": 338.19317374128906,
32
- "pitch": -30.04003991143791,
33
- "roll": 359.99999588618317,
34
- "animate": true
35
- },
36
- {
37
- "type": "Viewpoint",
38
- "name": "nyc",
39
- "distance": 3042.3216277021916,
40
- "cameraPosition": [
41
- -74.01942218939992, 40.688793600077055, 1569.4093289771238
42
- ],
43
- "groundPosition": [
44
- -74.01080610220716, 40.711373341701986, 8.472739591926311
45
- ],
46
- "heading": 16.19115765285758,
47
- "pitch": -30.880522346074567,
48
- "roll": 0.025581985964679865,
49
- "animate": true
50
- },
51
- {
52
- "type": "Viewpoint",
53
- "name": "sf",
54
- "distance": 4134.998512891838,
55
- "cameraPosition": [
56
- -122.37511756311194, 37.810675681587846, 1604.493325598139
57
- ],
58
- "groundPosition": [
59
- -122.40845601064328, 37.788673206883566, 20.313176076480016
60
- ],
61
- "heading": 230.25853068218197,
62
- "pitch": -22.543960067630064,
63
- "roll": 0.0020122862676474505,
64
- "animate": true
65
- },
66
- {
67
- "type": "Viewpoint",
68
- "name": "library",
69
- "distance": 133.00055488054696,
70
- "cameraPosition": [
71
- 172.63641822147653, -43.529360740691565, 66.09755359504238
72
- ],
73
- "groundPosition": [
74
- 172.63744354169467, -43.53016832095056, 13.47878725615737
75
- ],
76
- "heading": 137.26993868076386,
77
- "pitch": -23.305704615195516,
78
- "roll": 0.00025110393808444603,
79
- "animate": true
80
- }
81
- ],
3
+ "_id": "i3s-config",
4
+ "comment": "Module synchronised with the dev module using the event-control plugin",
82
5
  "layers": [
83
6
  {
84
7
  "name": "I3SLayerMadrid",
85
8
  "type": "I3SLayer",
86
- "activeOnStartup": true,
9
+ "exclusiveGroups": ["i3s"],
87
10
  "properties": {
88
11
  "featureInfo": "tableAll",
89
12
  "title": "Madrid, Spain",
@@ -111,7 +34,7 @@
111
34
  {
112
35
  "name": "I3SLayerFrankfurt",
113
36
  "type": "I3SLayer",
114
- "activeOnStartup": false,
37
+ "exclusiveGroups": ["i3s"],
115
38
  "allowPicking": false,
116
39
  "properties": {
117
40
  "featureInfo": "tableAll",
@@ -132,7 +55,7 @@
132
55
  {
133
56
  "name": "I3SLayerNYC",
134
57
  "type": "I3SLayer",
135
- "activeOnStartup": false,
58
+ "exclusiveGroups": ["i3s"],
136
59
  "hasBatchTable": false,
137
60
  "properties": {
138
61
  "featureInfo": "tableAll",
@@ -153,7 +76,7 @@
153
76
  {
154
77
  "name": "I3SLayerSF",
155
78
  "type": "I3SLayer",
156
- "activeOnStartup": false,
79
+ "exclusiveGroups": ["i3s"],
157
80
  "hasBatchTable": false,
158
81
  "properties": {
159
82
  "featureInfo": "tableAll",
@@ -174,7 +97,7 @@
174
97
  {
175
98
  "name": "I3SLayerLibrary",
176
99
  "type": "I3SLayer",
177
- "activeOnStartup": false,
100
+ "exclusiveGroups": ["i3s"],
178
101
  "hasBatchTable": false,
179
102
  "properties": {
180
103
  "featureInfo": "tableAll",
@@ -195,96 +118,101 @@
195
118
  ],
196
119
  "contentTree": [
197
120
  {
198
- "name": "demoI3S",
121
+ "name": "layersExamples.i3s",
199
122
  "type": "NodeContentTreeItem",
200
- "title": "I3S Showcase",
201
- "initOpen": true,
202
- "weight": 1
123
+ "title": "I3SLayer",
124
+ "weight": 2
203
125
  },
204
126
  {
205
- "name": "demoI3S.madrid",
206
- "layerName": "I3SLayerMadrid",
127
+ "name": "layersExamples.i3s.frankfurt",
128
+ "layerName": "I3SLayerFrankfurt",
207
129
  "type": "LayerContentTreeItem",
208
130
  "onActivate": [
209
- {
210
- "type": "DeactivateLayersCallback",
211
- "layerNames": [
212
- "I3SLayerFrankfurt",
213
- "I3SLayerNYC",
214
- "I3SLayerSF",
215
- "I3SLayerLibrary"
216
- ]
217
- },
218
- { "type": "GoToViewpointCallback", "viewpoint": "madrid" }
131
+ { "type": "GoToViewpointCallback", "viewpoint": "frankfurt" }
219
132
  ]
220
133
  },
221
134
  {
222
- "name": "demoI3S.frankfurt",
223
- "layerName": "I3SLayerFrankfurt",
135
+ "name": "layersExamples.i3s.madrid",
136
+ "layerName": "I3SLayerMadrid",
224
137
  "type": "LayerContentTreeItem",
225
- "onActivate": [
226
- {
227
- "type": "DeactivateLayersCallback",
228
- "layerNames": [
229
- "I3SLayerMadrid",
230
- "I3SLayerNYC",
231
- "I3SLayerSF",
232
- "I3SLayerLibrary"
233
- ]
234
- },
235
- { "type": "GoToViewpointCallback", "viewpoint": "frankfurt" }
236
- ]
138
+ "onActivate": [{ "type": "GoToViewpointCallback", "viewpoint": "madrid" }]
237
139
  },
238
140
  {
239
- "name": "demoI3S.nyc",
141
+ "name": "layersExamples.i3s.nyc",
240
142
  "layerName": "I3SLayerNYC",
241
143
  "type": "LayerContentTreeItem",
242
- "onActivate": [
243
- {
244
- "type": "DeactivateLayersCallback",
245
- "layerNames": [
246
- "I3SLayerFrankfurt",
247
- "I3SLayerMadrid",
248
- "I3SLayerSF",
249
- "I3SLayerLibrary"
250
- ]
251
- },
252
- { "type": "GoToViewpointCallback", "viewpoint": "nyc" }
253
- ]
144
+ "onActivate": [{ "type": "GoToViewpointCallback", "viewpoint": "nyc" }]
254
145
  },
255
146
  {
256
- "name": "demoI3S.sf",
147
+ "name": "layersExamples.i3s.sf",
257
148
  "layerName": "I3SLayerSF",
258
149
  "type": "LayerContentTreeItem",
259
- "onActivate": [
260
- {
261
- "type": "DeactivateLayersCallback",
262
- "layerNames": [
263
- "I3SLayerFrankfurt",
264
- "I3SLayerNYC",
265
- "I3SLayerMadrid",
266
- "I3SLayerLibrary"
267
- ]
268
- },
269
- { "type": "GoToViewpointCallback", "viewpoint": "sf" }
270
- ]
150
+ "onActivate": [{ "type": "GoToViewpointCallback", "viewpoint": "sf" }]
271
151
  },
272
152
  {
273
- "name": "demoI3S.library",
153
+ "name": "layersExamples.i3s.library",
274
154
  "layerName": "I3SLayerLibrary",
275
155
  "type": "LayerContentTreeItem",
276
156
  "onActivate": [
277
- {
278
- "type": "DeactivateLayersCallback",
279
- "layerNames": [
280
- "I3SLayerFrankfurt",
281
- "I3SLayerNYC",
282
- "I3SLayerSF",
283
- "I3SLayerMadrid"
284
- ]
285
- },
286
157
  { "type": "GoToViewpointCallback", "viewpoint": "library" }
287
158
  ]
288
159
  }
160
+ ],
161
+ "viewpoints": [
162
+ {
163
+ "type": "Viewpoint",
164
+ "name": "madrid",
165
+ "distance": 385.65,
166
+ "cameraPosition": [-3.707495, 40.414476, 998.46],
167
+ "groundPosition": [-3.706078, 40.415537, 651.48],
168
+ "heading": 45.63,
169
+ "pitch": -64.12,
170
+ "roll": 0,
171
+ "animate": true
172
+ },
173
+ {
174
+ "type": "Viewpoint",
175
+ "name": "frankfurt",
176
+ "distance": 412.4,
177
+ "cameraPosition": [8.699818, 50.106111, 306.955868],
178
+ "groundPosition": [8.697964, 50.109091, 100.513964],
179
+ "heading": 338.19,
180
+ "pitch": -30.04,
181
+ "roll": 0,
182
+ "animate": true
183
+ },
184
+ {
185
+ "type": "Viewpoint",
186
+ "name": "nyc",
187
+ "distance": 3042.32,
188
+ "cameraPosition": [-74.019422, 40.688794, 1569.409329],
189
+ "groundPosition": [-74.010806, 40.711373, 8.47274],
190
+ "heading": 16.19,
191
+ "pitch": -30.88,
192
+ "roll": 0,
193
+ "animate": true
194
+ },
195
+ {
196
+ "type": "Viewpoint",
197
+ "name": "sf",
198
+ "distance": 4135.0,
199
+ "cameraPosition": [-122.375118, 37.810676, 1604.493326],
200
+ "groundPosition": [-122.408456, 37.788673, 20.313176],
201
+ "heading": 230.26,
202
+ "pitch": -22.54,
203
+ "roll": 0,
204
+ "animate": true
205
+ },
206
+ {
207
+ "type": "Viewpoint",
208
+ "name": "library",
209
+ "distance": 133.0,
210
+ "cameraPosition": [172.636418, -43.52936, 66.097554],
211
+ "groundPosition": [172.637444, -43.530168, 13.478787],
212
+ "heading": 137.27,
213
+ "pitch": -23.31,
214
+ "roll": 0,
215
+ "animate": true
216
+ }
289
217
  ]
290
218
  }
@@ -1,6 +1,7 @@
1
1
  {
2
- "name": "MapBox Style Showcase",
3
- "_id": "mapbox-style",
2
+ "name": "MapboxStyle Showcase",
3
+ "_id": "mapbox-config",
4
+ "comment": "Module synchronised with the dev module using the event-control plugin",
4
5
  "layers": [
5
6
  {
6
7
  "name": "basemap.de",
@@ -9,6 +10,10 @@
9
10
  "sources": ["smarttiles_de"],
10
11
  "exclusiveGroups": ["mapboxDemo"],
11
12
  "excludeLayerFromPicking": ["Hintergrund"],
13
+ "extent": {
14
+ "coordinates": [6.01149, 47.43169, 14.88644, 54.85087],
15
+ "projection": { "epsg": "EPSG:4326" }
16
+ },
12
17
  "properties": {
13
18
  "clusterFeatureTitleProperty": "klasse",
14
19
  "featureInfo": "tableAll",
@@ -43,6 +48,10 @@
43
48
  "type": "MapboxStyleLayer",
44
49
  "url": "https://sgx.geodatenzentrum.de/gdz_basemapde_vektor/styles/bm_web_drk.json",
45
50
  "exclusiveGroups": ["mapboxDemo"],
51
+ "extent": {
52
+ "coordinates": [6.01149, 47.43169, 14.88644, 54.85087],
53
+ "projection": { "epsg": "EPSG:4326" }
54
+ },
46
55
  "properties": {
47
56
  "clusterFeatureTitleProperty": "klasse",
48
57
  "featureInfo": "tableAll",
@@ -60,6 +69,10 @@
60
69
  "type": "MapboxStyleLayer",
61
70
  "url": "https://sgx.geodatenzentrum.de/gdz_basemapde_vektor/styles/bm_web_bin.json",
62
71
  "exclusiveGroups": ["mapboxDemo"],
72
+ "extent": {
73
+ "coordinates": [6.01149, 47.43169, 14.88644, 54.85087],
74
+ "projection": { "epsg": "EPSG:4326" }
75
+ },
63
76
  "properties": {
64
77
  "clusterFeatureTitleProperty": "klasse",
65
78
  "featureInfo": "tableAll",
@@ -72,40 +85,6 @@
72
85
  ]
73
86
  }
74
87
  },
75
- {
76
- "name": "bayernwolke",
77
- "type": "MapboxStyleLayer",
78
- "url": "https://vtod1.bayernwolke.de/styles/by_style_standard.json",
79
- "exclusiveGroups": ["mapboxDemo"],
80
- "properties": {
81
- "clusterFeatureTitleProperty": "klasse",
82
- "featureInfo": "tableAll",
83
- "attributions": [
84
- {
85
- "provider": "Landesamt für Digitalisierung, Breitband und Vermessung Bayern",
86
- "year": "2025",
87
- "url": "https://www.ldbv.bayern.de/produkte/karten/webvektor.html"
88
- }
89
- ]
90
- }
91
- },
92
- {
93
- "name": "bayernwolke/dark",
94
- "type": "MapboxStyleLayer",
95
- "url": "https://vtod1.bayernwolke.de/styles/by_style_nacht.json",
96
- "exclusiveGroups": ["mapboxDemo"],
97
- "properties": {
98
- "clusterFeatureTitleProperty": "klasse",
99
- "featureInfo": "tableAll",
100
- "attributions": [
101
- {
102
- "provider": "Landesamt für Digitalisierung, Breitband und Vermessung Bayern",
103
- "year": "2025",
104
- "url": "https://www.ldbv.bayern.de/produkte/karten/webvektor.html"
105
- }
106
- ]
107
- }
108
- },
109
88
  {
110
89
  "name": "Plan.IGN",
111
90
  "type": "MapboxStyleLayer",
@@ -122,50 +101,37 @@
122
101
  ],
123
102
  "contentTree": [
124
103
  {
125
- "name": "demoMapbox",
104
+ "name": "layersExamples.mapbox",
126
105
  "type": "NodeContentTreeItem",
127
- "title": "MapBox Style demo",
128
- "initOpen": true,
106
+ "title": "MapboxStyleLayer",
129
107
  "weight": 1
130
108
  },
131
109
  {
132
- "name": "demoMapbox.basemapde",
110
+ "name": "layersExamples.mapbox.basemapde",
133
111
  "title": "basemap.de",
134
112
  "type": "LayerContentTreeItem",
135
113
  "layerName": "basemap.de"
136
114
  },
137
115
  {
138
- "name": "demoMapbox.basemapde_worldwde",
139
- "title": "basemap.de, worldwide",
140
- "type": "LayerContentTreeItem",
141
- "layerName": "basemap.de/worldwide"
142
- },
143
- {
144
- "name": "demoMapbox.basemapde_dark",
116
+ "name": "layersExamples.mapbox.basemapde_dark",
145
117
  "title": "basemap.de, dark",
146
118
  "type": "LayerContentTreeItem",
147
119
  "layerName": "basemap.de/dark"
148
120
  },
149
121
  {
150
- "name": "demoMapbox.basemapde_binary",
122
+ "name": "layersExamples.mapbox.basemapde_binary",
151
123
  "title": "basemap.de, binary",
152
124
  "type": "LayerContentTreeItem",
153
125
  "layerName": "basemap.de/binary"
154
126
  },
155
127
  {
156
- "name": "demoMapbox.bayernwolke",
157
- "title": "Webkarte Vektor Bayern",
158
- "type": "LayerContentTreeItem",
159
- "layerName": "bayernwolke"
160
- },
161
- {
162
- "name": "demoMapbox.bayernwolke_dark",
163
- "title": "Webkarte Vektor Bayern, dark",
128
+ "name": "layersExamples.mapbox.basemapde_worldwde",
129
+ "title": "basemap.de, worldwide",
164
130
  "type": "LayerContentTreeItem",
165
- "layerName": "bayernwolke/dark"
131
+ "layerName": "basemap.de/worldwide"
166
132
  },
167
133
  {
168
- "name": "demoMapbox.ign",
134
+ "name": "layersExamples.mapbox.ign",
169
135
  "title": "Worldwide IGN Style",
170
136
  "type": "LayerContentTreeItem",
171
137
  "layerName": "Plan.IGN"
@@ -0,0 +1,196 @@
1
+ {
2
+ "name": "VectorTile Showcase",
3
+ "_id": "vectortile-config",
4
+ "comment": "Module synchronised with the dev module using the event-control plugin",
5
+ "description": "Vector tile config",
6
+ "featureInfo": [],
7
+ "layers": [
8
+ {
9
+ "type": "VectorTileLayer",
10
+ "name": "worldVectorTile",
11
+ "datasourceId": "808a12f7-bc72-44e2-93ac-92e2f11fe4f6",
12
+ "maxLevel": 12,
13
+ "minLevel": 0,
14
+ "style": {
15
+ "type": "VectorStyleItem",
16
+ "stroke": { "width": 5, "color": "#FF69B4" },
17
+ "fill": false
18
+ },
19
+ "tileProvider": {
20
+ "type": "StaticGeoJSONTileProvider",
21
+ "name": "fce5c3c2-abeb-4299-8ba5-43e7dffab2e6",
22
+ "baseLevels": [0],
23
+ "url": "https://raw.githubusercontent.com/datasets/geo-countries/b0b7794e15e7ec4374bf183dd73cce5b92e1c0ae/data/countries.geojson"
24
+ },
25
+ "zIndex": 15,
26
+ "properties": { "title": "Worldwide GeoJSON VectorTile" }
27
+ },
28
+ {
29
+ "name": "geojsonVectorTile",
30
+ "type": "VectorTileLayer",
31
+ "minLevel": 12,
32
+ "maxLevel": 18,
33
+ "zIndex": 11,
34
+ "tileProvider": {
35
+ "idProperty": "id",
36
+ "useSpatialIndex": false,
37
+ "type": "StaticGeoJSONTileProvider",
38
+ "url": "exampleData/perFeature.json"
39
+ },
40
+ "extent": {
41
+ "coordinates": [13.40271, 52.4946, 13.50295, 52.55834],
42
+ "projection": { "epsg": "EPSG:4326" }
43
+ },
44
+ "debug": false,
45
+ "renderer": "primitive",
46
+ "properties": {
47
+ "title": "GeoJSON VectorTile",
48
+ "featureInfo": "markdownFeatureInfo",
49
+ "legend": [
50
+ {
51
+ "type": "StyleLegendItem",
52
+ "rows": [
53
+ {
54
+ "type": "StrokeLegendRow",
55
+ "title": "Line",
56
+ "stroke": { "color": [0, 0, 0, 1], "width": 1.2 }
57
+ },
58
+ {
59
+ "type": "StrokeLegendRow",
60
+ "title": "Line blue",
61
+ "stroke": { "color": [118, 165, 204, 1], "width": 1.2 }
62
+ },
63
+ {
64
+ "type": "FillLegendRow",
65
+ "title": "Polygon no fill",
66
+ "fill": false,
67
+ "stroke": { "color": [0, 0, 0, 1], "width": 1.2 }
68
+ },
69
+ {
70
+ "type": "FillLegendRow",
71
+ "title": "Polygon blue",
72
+ "fill": { "color": [118, 165, 204, 1] },
73
+ "stroke": { "color": [68, 68, 68, 1], "width": 2 }
74
+ },
75
+ {
76
+ "type": "FillLegendRow",
77
+ "title": "Polygon white",
78
+ "tooltip": "Extruded polygons by height or storey",
79
+ "fill": { "color": [255, 255, 255, 0.4] },
80
+ "stroke": { "color": [51, 153, 204, 1], "width": 1.25 }
81
+ },
82
+ {
83
+ "type": "CircleLegendRow",
84
+ "title": "Point Circle",
85
+ "image": {
86
+ "radius": 8,
87
+ "scale": 4,
88
+ "fill": { "color": "rgba(255, 0, 0, 1)" },
89
+ "stroke": { "color": "#00FF00", "width": 2 }
90
+ }
91
+ },
92
+ {
93
+ "type": "CircleLegendRow",
94
+ "title": "Point Default",
95
+ "image": {
96
+ "radius": 5,
97
+ "scale": 1,
98
+ "fill": { "color": [255, 255, 255, 0.4] },
99
+ "stroke": { "color": [0, 0, 0, 1], "width": 1 }
100
+ }
101
+ },
102
+ {
103
+ "type": "IconLegendRow",
104
+ "title": "Icon",
105
+ "tooltip": "An exemplary icon",
106
+ "image": {
107
+ "src": "data:image/png;base64,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",
108
+ "scale": 0.2
109
+ }
110
+ },
111
+ {
112
+ "type": "RegularShapeLegendRow",
113
+ "title": "Rhombus Shape",
114
+ "image": {
115
+ "radius": 8,
116
+ "points": 4,
117
+ "angle": 1.5707963267948966,
118
+ "scale": 4,
119
+ "fill": { "color": [255, 0, 255, 0.8] },
120
+ "stroke": { "color": "#000000", "width": 2 }
121
+ }
122
+ },
123
+ {
124
+ "type": "TextLegendRow",
125
+ "title": "Text",
126
+ "text": {
127
+ "font": "italic bold 32px Courier New, monospace",
128
+ "fill": { "color": "#73D9D1" },
129
+ "stroke": { "color": "#000000", "width": 2 }
130
+ },
131
+ "label": "Test!"
132
+ }
133
+ ]
134
+ }
135
+ ]
136
+ }
137
+ },
138
+ {
139
+ "name": "flatGeobuffVectorTile",
140
+ "type": "VectorTileLayer",
141
+ "style": "streetStyle",
142
+ "minLevel": 10,
143
+ "zIndex": 11,
144
+ "tileProvider": {
145
+ "type": "FlatGeobufTileProvider",
146
+ "projection": {
147
+ "epsg": 4326
148
+ },
149
+ "levels": [
150
+ {
151
+ "level": 10,
152
+ "url": "exampleData/flatGeobuf/berlin-classified-level-0.fgb"
153
+ },
154
+ {
155
+ "level": 12,
156
+ "url": "exampleData/flatGeobuf/berlin-classified-level-1.fgb"
157
+ },
158
+ {
159
+ "level": 14,
160
+ "url": "exampleData/flatGeobuf/berlin-classified-level-2.fgb"
161
+ },
162
+ {
163
+ "level": 16,
164
+ "url": "exampleData/flatGeobuf/berlin-classified-level-3.fgb"
165
+ }
166
+ ]
167
+ },
168
+ "exclusiveGroups": ["streets"],
169
+ "properties": { "title": "Berlin Streets (tiled)" }
170
+ }
171
+ ],
172
+ "contentTree": [
173
+ {
174
+ "name": "layersExamples.vectorTile",
175
+ "type": "NodeContentTreeItem",
176
+ "title": "VectorTileLayer",
177
+ "weight": 1
178
+ },
179
+ {
180
+ "name": "layersExamples.vectorTile.geojsonVectorTile",
181
+ "layerName": "geojsonVectorTile",
182
+ "type": "LayerContentTreeItem"
183
+ },
184
+ {
185
+ "name": "layersExamples.vectorTile.worldVectorTile",
186
+ "layerName": "worldVectorTile",
187
+ "type": "LayerContentTreeItem"
188
+ },
189
+ {
190
+ "name": "layersExamples.vectorTile.flatGeobufLayers",
191
+ "type": "LayerContentTreeItem",
192
+ "layerName": "flatGeobuffVectorTile",
193
+ "tooltip": "Flat Geobuff Vector Tile Layer"
194
+ }
195
+ ]
196
+ }