@npm9912/v-map 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{cesium-provider-CTtu9eTD.js → cesium-provider-eoUKuWMQ.js} +19 -1
- package/dist/cjs/{deck-provider-fNa818HH.js → deck-provider-VE8jCvBE.js} +28 -14
- package/dist/cjs/{index-ChrKyU6i.js → index-CCxwwaJl.js} +2 -2
- package/dist/cjs/{index-C1ubapwF.js → index-CE8CbKgP.js} +2 -2
- package/dist/cjs/{index-9APmzoa2.js → index-CF2WBqZp.js} +4 -4
- package/dist/cjs/{index-BJg0ncfC.js → index-CQEgnWQf.js} +2 -2
- package/dist/cjs/{layer-extension-D3a-1DFI.js → layer-extension-IlBQy451.js} +1 -1
- package/dist/cjs/{leaflet-provider-7Nw-AdV_.js → leaflet-provider-D_wmyi0D.js} +12 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{openlayers-provider-DMxYtFkS.js → openlayers-provider-BkvQVXZX.js} +14 -1
- package/dist/cjs/{polygon-layer-Dx1ZWZP0.js → polygon-layer-D7S9jutU.js} +1 -1
- package/dist/cjs/{scenegraph-layer-ctLehP0q.js → scenegraph-layer-h1u7G3QW.js} +1 -1
- package/dist/cjs/v-map.cjs.js +1 -1
- package/dist/cjs/{v-map.v-map-layer-osm.v-map-layergroup-BJ3_NqAj.js → v-map.v-map-layer-osm.v-map-layergroup-B-JDj4h8.js} +51 -5
- package/dist/cjs/v-map_3.cjs.entry.js +1 -1
- package/dist/collection/components/v-map/v-map.js +47 -1
- package/dist/collection/map-provider/cesium/cesium-provider.js +18 -0
- package/dist/collection/map-provider/deck/deck-provider.js +21 -7
- package/dist/collection/map-provider/leaflet/leaflet-provider.js +11 -0
- package/dist/collection/map-provider/ol/openlayers-provider.js +14 -1
- package/dist/components/cesium-provider.js +1 -1
- package/dist/components/deck-provider.js +1 -1
- package/dist/components/leaflet-provider.js +1 -1
- package/dist/components/openlayers-provider.js +1 -1
- package/dist/components/v-map2.js +1 -1
- package/dist/esm/{cesium-provider-Bh__cBGf.js → cesium-provider-BkuYkY7L.js} +19 -1
- package/dist/esm/{deck-provider-DxIpS4lY.js → deck-provider-Bi-KjKaQ.js} +28 -14
- package/dist/esm/{index-DxbztwCv.js → index-B1rgsDF8.js} +5 -5
- package/dist/esm/{index-C3mnOs0I.js → index-DnYCNw5P.js} +2 -2
- package/dist/esm/{index-Bh2gBu9u.js → index-KNhUl5HI.js} +3 -3
- package/dist/esm/{index-C63kfbil.js → index-W2-A_yhi.js} +4 -4
- package/dist/esm/{layer-extension-C5Y2UES3.js → layer-extension-IuMBMh1z.js} +1 -1
- package/dist/esm/{leaflet-provider-k6JSYiYX.js → leaflet-provider-LXeX9dPk.js} +12 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{openlayers-provider-DIquf3Tx.js → openlayers-provider-BZvqx4li.js} +15 -2
- package/dist/esm/{polygon-layer-ZIT5mJy5.js → polygon-layer-BPJjHK3y.js} +1 -1
- package/dist/esm/{scenegraph-layer-CNIRd2uu.js → scenegraph-layer-_1RQcOYZ.js} +1 -1
- package/dist/esm/v-map.js +1 -1
- package/dist/esm/{v-map.v-map-layer-osm.v-map-layergroup-Zwdvm9PG.js → v-map.v-map-layer-osm.v-map-layergroup-DIfNm6nG.js} +51 -5
- package/dist/esm/v-map_3.entry.js +1 -1
- package/dist/types/components/v-map/v-map.d.ts +15 -0
- package/dist/types/map-provider/cesium/cesium-provider.d.ts +4 -0
- package/dist/types/map-provider/deck/deck-provider.d.ts +5 -0
- package/dist/types/map-provider/leaflet/leaflet-provider.d.ts +4 -0
- package/dist/types/map-provider/ol/openlayers-provider.d.ts +4 -0
- package/dist/types/types/mapprovider.d.ts +11 -0
- package/dist/v-map/p-BFyBu5_1.js +1 -0
- package/dist/v-map/p-BOfJXm8U.js +1 -0
- package/dist/v-map/{p-DuJ_mTaq.js → p-Bl6vQpyl.js} +1 -1
- package/dist/v-map/{p-G6iftXUC.js → p-Bmo2hj1_.js} +1 -1
- package/dist/v-map/{p-Ci70E1EM.js → p-COhBo2OS.js} +1 -1
- package/dist/v-map/{p-9Rt23jlQ.js → p-Cp_e5ebg.js} +1 -1
- package/dist/v-map/{p-C0M0-Kvt.js → p-D5O720HV.js} +1 -1
- package/dist/v-map/{p-DAf4itFZ.js → p-D94rp5ir.js} +1 -1
- package/dist/v-map/{p-BpE6L1g0.js → p-DgXaR8AP.js} +1 -1
- package/dist/v-map/p-fca86e74.entry.js +1 -0
- package/dist/v-map/{p-rCyRSFJb.js → p-ns7UwFY9.js} +2 -2
- package/dist/v-map/{p-BSsFEMZP.js → p-qVwE-Ron.js} +1 -1
- package/dist/v-map/{p-vhbi5XXi.js → p-yoshb-P-.js} +1 -1
- package/dist/v-map/v-map.esm.js +1 -1
- package/package.json +1 -1
- package/dist/v-map/p-05ee633f.entry.js +0 -1
- package/dist/v-map/p-2-mR3oVa.js +0 -1
- package/dist/v-map/p-CbiLpFhO.js +0 -1
|
@@ -25,10 +25,10 @@ import OlCircle from 'ol/style/Circle';
|
|
|
25
25
|
import OlIcon from 'ol/style/Icon';
|
|
26
26
|
import OlText from 'ol/style/Text';
|
|
27
27
|
import { bbox } from 'ol/loadingstrategy';
|
|
28
|
-
import { get, fromLonLat } from 'ol/proj';
|
|
28
|
+
import { get, fromLonLat, toLonLat } from 'ol/proj';
|
|
29
29
|
import { D as DEFAULT_STYLE } from './styleconfig-B-bAcABs.js';
|
|
30
30
|
import { w as warn, e as error, l as log } from './messages-QJHuuz0g.js';
|
|
31
|
-
import { O as OL_VERSION } from './v-map.v-map-layer-osm.v-map-layergroup-
|
|
31
|
+
import { O as OL_VERSION } from './v-map.v-map-layer-osm.v-map-layergroup-DIfNm6nG.js';
|
|
32
32
|
import proj4 from './index-RpJarvr_.js';
|
|
33
33
|
import GeoTIFF from 'ol/source/GeoTIFF';
|
|
34
34
|
import { g as geokeysToProj4 } from './main-dist-CwnA7_Xn.js';
|
|
@@ -1081,6 +1081,19 @@ class OpenLayersProvider {
|
|
|
1081
1081
|
.getView()
|
|
1082
1082
|
.animate({ center: fromLonLat(center), zoom, duration: 0 });
|
|
1083
1083
|
}
|
|
1084
|
+
getView() {
|
|
1085
|
+
if (!this.map)
|
|
1086
|
+
return null;
|
|
1087
|
+
const view = this.map.getView();
|
|
1088
|
+
const centerMercator = view.getCenter();
|
|
1089
|
+
if (!centerMercator)
|
|
1090
|
+
return null;
|
|
1091
|
+
const [lon, lat] = toLonLat(centerMercator);
|
|
1092
|
+
return {
|
|
1093
|
+
center: [lon, lat],
|
|
1094
|
+
zoom: view.getZoom() ?? 0,
|
|
1095
|
+
};
|
|
1096
|
+
}
|
|
1084
1097
|
async _forEachLayer(layerOrGroup, callback) {
|
|
1085
1098
|
// Wenn das aktuelle Objekt eine LayerGroup ist, rufen wir die Funktion für jedes Kind erneut auf
|
|
1086
1099
|
if (layerOrGroup instanceof LayerGroup) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { L as Layer, p as project32, a as picking, U as UNIT, M as Model, c as color, i as gouraudMaterial, G as Geometry, j as defaultLogger, m as modifyPolygonWindingDirection, W as WINDING, k as phongMaterial, C as CompositeLayer, r as replaceInRange, l as createIterable, n as normalize, f as SolidPolygonLayer, P as PathLayer } from './deck-provider-
|
|
1
|
+
import { L as Layer, p as project32, a as picking, U as UNIT, M as Model, c as color, i as gouraudMaterial, G as Geometry, j as defaultLogger, m as modifyPolygonWindingDirection, W as WINDING, k as phongMaterial, C as CompositeLayer, r as replaceInRange, l as createIterable, n as normalize, f as SolidPolygonLayer, P as PathLayer } from './deck-provider-Bi-KjKaQ.js';
|
|
2
2
|
|
|
3
3
|
// deck.gl
|
|
4
4
|
// SPDX-License-Identifier: MIT
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { postProcessGLTF, GLTFLoader } from '@loaders.gl/gltf';
|
|
2
|
-
import { aK as lighting, a0 as Matrix4, V as Vector3, u as uid, aL as log, M as Model, G as Geometry, aM as Quaternion, L as Layer, p as project32, a as picking, aN as MATRIX_ATTRIBUTES, j as defaultLogger, aO as shouldComposeModelMatrix } from './deck-provider-
|
|
2
|
+
import { aK as lighting, a0 as Matrix4, V as Vector3, u as uid, aL as log, M as Model, G as Geometry, aM as Quaternion, L as Layer, p as project32, a as picking, aN as MATRIX_ATTRIBUTES, j as defaultLogger, aO as shouldComposeModelMatrix } from './deck-provider-Bi-KjKaQ.js';
|
|
3
3
|
|
|
4
4
|
// luma.gl
|
|
5
5
|
// SPDX-License-Identifier: MIT
|
package/dist/esm/v-map.js
CHANGED
|
@@ -17,5 +17,5 @@ var patchBrowser = () => {
|
|
|
17
17
|
|
|
18
18
|
patchBrowser().then(async (options) => {
|
|
19
19
|
await globalScripts();
|
|
20
|
-
return bootstrapLazy([["v-map-builder",[[769,"v-map-builder",{"mapconfig":[1040]},null,{"mapconfig":[{"onMapConfigChanged":0}]}]]],["v-map-error",[[513,"v-map-error",{"for":[1],"position":[513],"autoDismiss":[2,"auto-dismiss"],"max":[2],"log":[1],"toasts":[32]}]]],["v-map-layer-terrain-geotiff",[[769,"v-map-layer-terrain-geotiff",{"loadState":[1537,"load-state"],"url":[1],"projection":[1],"forceProjection":[4,"force-projection"],"visible":[4],"opacity":[2],"zIndex":[2,"z-index"],"nodata":[2],"meshMaxError":[2,"mesh-max-error"],"wireframe":[4],"texture":[1],"color":[16],"colorMap":[1,"color-map"],"valueRange":[16],"elevationScale":[2,"elevation-scale"],"renderMode":[1,"render-mode"],"minZoom":[2,"min-zoom"],"maxZoom":[2,"max-zoom"],"tileSize":[2,"tile-size"],"getError":[64],"getLayerId":[64]},null,{"url":[{"onUrlChanged":0}],"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"projection":[{"onPropertyChanged":0}],"forceProjection":[{"onPropertyChanged":0}],"nodata":[{"onPropertyChanged":0}],"meshMaxError":[{"onPropertyChanged":0}],"wireframe":[{"onPropertyChanged":0}],"texture":[{"onPropertyChanged":0}],"color":[{"onPropertyChanged":0}],"colorMap":[{"onPropertyChanged":0}],"valueRange":[{"onPropertyChanged":0}],"elevationScale":[{"onPropertyChanged":0}],"renderMode":[{"onPropertyChanged":0}],"minZoom":[{"onPropertyChanged":0}],"maxZoom":[{"onPropertyChanged":0}],"tileSize":[{"onPropertyChanged":0}]}]]],["v-map-layercontrol",[[513,"v-map-layercontrol",{"for":[1],"layerGroups":[32]}]]],["v-map_3",[[769,"v-map",{"flavour":[513],"center":[1],"zoom":[2],"useDefaultImportMap":[4,"use-default-import-map"],"cssMode":[1,"css-mode"],"isMapProviderReady":[64],"setView":[64]},null,{"flavour":[{"onFlavourChanged":0}]}],[513,"v-map-layer-osm",{"loadState":[1537,"load-state"],"visible":[516],"opacity":[514],"zIndex":[514,"z-index"],"url":[513],"getError":[64],"getLayerId":[64]},null,{"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"url":[{"onUrlChanged":0}]}],[769,"v-map-layergroup",{"visible":[516],"opacity":[514],"basemapid":[513],"getGroupId":[64]},null,{"visible":[{"onVisibleChanged":0}],"basemapid":[{"onBaseMapIdChanged":0}]}]]],["v-map-layer-geojson_12",[[769,"v-map-layer-geojson",{"loadState":[1537,"load-state"],"geojson":[1025],"url":[513],"visible":[516],"zIndex":[514,"z-index"],"opacity":[514],"fillColor":[513,"fill-color"],"fillOpacity":[514,"fill-opacity"],"strokeColor":[513,"stroke-color"],"strokeWidth":[514,"stroke-width"],"strokeOpacity":[514,"stroke-opacity"],"pointRadius":[514,"point-radius"],"pointColor":[513,"point-color"],"iconUrl":[513,"icon-url"],"iconSize":[513,"icon-size"],"textProperty":[513,"text-property"],"textColor":[513,"text-color"],"textSize":[514,"text-size"],"getLayerId":[64],"getError":[64]},[[4,"styleReady","onStyleReady"]],{"geojson":[{"onGeoJsonChanged":0}],"url":[{"onUrlChanged":0}],"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"fillColor":[{"onStyleChanged":0}],"fillOpacity":[{"onStyleChanged":0}],"strokeColor":[{"onStyleChanged":0}],"strokeWidth":[{"onStyleChanged":0}],"strokeOpacity":[{"onStyleChanged":0}],"pointRadius":[{"onStyleChanged":0}],"pointColor":[{"onStyleChanged":0}],"iconUrl":[{"onStyleChanged":0}],"iconSize":[{"onStyleChanged":0}],"textProperty":[{"onStyleChanged":0}],"textColor":[{"onStyleChanged":0}],"textSize":[{"onStyleChanged":0}]}],[513,"v-map-layer-geotiff",{"loadState":[1537,"load-state"],"url":[1],"visible":[4],"opacity":[2],"zIndex":[2,"z-index"],"nodata":[2],"colorMap":[1,"color-map"],"valueRange":[16],"getError":[64],"getLayerId":[64]},null,{"url":[{"onUrlChanged":0}],"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"nodata":[{"onNodataChanged":0}],"colorMap":[{"onColorMapChanged":0}],"valueRange":[{"onValueRangeChanged":0}]}],[513,"v-map-layer-google",{"loadState":[1537,"load-state"],"mapType":[513,"map-type"],"apiKey":[513,"api-key"],"language":[513],"region":[513],"visible":[516],"opacity":[514],"scale":[513],"maxZoom":[514,"max-zoom"],"styles":[1025],"libraries":[513],"getError":[64]},null,{"styles":[{"parseStyles":0}]}],[513,"v-map-layer-scatterplot",{"loadState":[1537,"load-state"],"data":[513],"url":[513],"getFillColor":[513,"get-fill-color"],"getRadius":[514,"get-radius"],"opacity":[514],"visible":[516],"getError":[64]}],[769,"v-map-layer-terrain",{"loadState":[1537,"load-state"],"elevationData":[513,"elevation-data"],"texture":[513],"elevationDecoder":[513,"elevation-decoder"],"wireframe":[516],"color":[513],"minZoom":[514,"min-zoom"],"maxZoom":[514,"max-zoom"],"meshMaxError":[514,"mesh-max-error"],"visible":[516],"opacity":[514],"zIndex":[514,"z-index"],"didLoad":[32],"getError":[64],"isReady":[64]},null,{"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"elevationData":[{"onTerrainConfigChanged":0}],"texture":[{"onTerrainConfigChanged":0}],"elevationDecoder":[{"onTerrainConfigChanged":0}],"wireframe":[{"onTerrainConfigChanged":0}],"color":[{"onTerrainConfigChanged":0}],"minZoom":[{"onTerrainConfigChanged":0}],"maxZoom":[{"onTerrainConfigChanged":0}],"meshMaxError":[{"onTerrainConfigChanged":0}]}],[769,"v-map-layer-tile3d",{"loadState":[1537,"load-state"],"url":[513],"tilesetOptions":[1,"tileset-options"],"visible":[516],"opacity":[514],"zIndex":[514,"z-index"],"didLoad":[32],"isReady":[64],"getError":[64]},[[4,"styleReady","onStyleReady"]],{"url":[{"onUrlChanged":0}],"tilesetOptions":[{"onTilesetOptionsChanged":0}],"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}]}],[769,"v-map-layer-wcs",{"loadState":[1537,"load-state"],"url":[513],"coverageName":[513,"coverage-name"],"format":[513],"version":[513],"projection":[513],"resolutions":[513],"params":[513],"visible":[516],"opacity":[514],"zIndex":[514,"z-index"],"didLoad":[32],"getError":[64],"isReady":[64]},null,{"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"url":[{"onSourceChanged":0}],"coverageName":[{"onSourceChanged":0}],"format":[{"onSourceChanged":0}],"version":[{"onSourceChanged":0}],"projection":[{"onSourceChanged":0}],"resolutions":[{"onSourceChanged":0}],"params":[{"onSourceChanged":0}]}],[769,"v-map-layer-wfs",{"loadState":[1537,"load-state"],"url":[513],"typeName":[513,"type-name"],"version":[513],"outputFormat":[513,"output-format"],"srsName":[513,"srs-name"],"params":[513],"visible":[516],"opacity":[514],"zIndex":[514,"z-index"],"didLoad":[32],"getError":[64],"isReady":[64]},[[4,"styleReady","onStyleReady"]],{"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"url":[{"onSourceChanged":0}],"typeName":[{"onSourceChanged":0}],"version":[{"onSourceChanged":0}],"outputFormat":[{"onSourceChanged":0}],"srsName":[{"onSourceChanged":0}],"params":[{"onSourceChanged":0}]}],[513,"v-map-layer-wkt",{"loadState":[1537,"load-state"],"wkt":[513],"url":[513],"visible":[516],"opacity":[514],"zIndex":[514,"z-index"],"fillColor":[513,"fill-color"],"fillOpacity":[514,"fill-opacity"],"strokeColor":[513,"stroke-color"],"strokeWidth":[514,"stroke-width"],"strokeOpacity":[514,"stroke-opacity"],"pointRadius":[514,"point-radius"],"pointColor":[513,"point-color"],"iconUrl":[513,"icon-url"],"iconSize":[513,"icon-size"],"textProperty":[513,"text-property"],"textColor":[513,"text-color"],"textSize":[514,"text-size"],"getError":[64],"getLayerId":[64]},[[4,"styleReady","onStyleReady"]],{"wkt":[{"onWktChanged":0}],"url":[{"onUrlChanged":0}],"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"fillColor":[{"onStyleChanged":0}],"fillOpacity":[{"onStyleChanged":0}],"strokeColor":[{"onStyleChanged":0}],"strokeWidth":[{"onStyleChanged":0}],"strokeOpacity":[{"onStyleChanged":0}],"pointRadius":[{"onStyleChanged":0}],"pointColor":[{"onStyleChanged":0}],"iconUrl":[{"onStyleChanged":0}],"iconSize":[{"onStyleChanged":0}],"textProperty":[{"onStyleChanged":0}],"textColor":[{"onStyleChanged":0}],"textSize":[{"onStyleChanged":0}]}],[513,"v-map-layer-wms",{"loadState":[1537,"load-state"],"url":[513],"layers":[513],"styles":[513],"format":[513],"transparent":[516],"tiled":[516],"visible":[516],"opacity":[514],"zIndex":[514,"z-index"],"getError":[64]},null,{"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"url":[{"onUrlChanged":0}],"layers":[{"onLayersChanged":0}],"styles":[{"onStylesChanged":0}]}],[513,"v-map-layer-xyz",{"loadState":[1537,"load-state"],"url":[513],"attributions":[513],"maxZoom":[514,"max-zoom"],"tileSize":[514,"tile-size"],"subdomains":[513],"visible":[516],"opacity":[514],"getError":[64]}],[769,"v-map-style",{"format":[513],"src":[513],"content":[513],"layerTargets":[513,"layer-targets"],"autoApply":[516,"auto-apply"],"parsedStyle":[32],"isLoading":[32],"error":[32],"getStyle":[64],"getLayerTargetIds":[64]},null,{"src":[{"onStyleSourceChanged":0}],"content":[{"onStyleSourceChanged":0}],"format":[{"onStyleSourceChanged":0}]}]]]], options);
|
|
20
|
+
return bootstrapLazy([["v-map-builder",[[769,"v-map-builder",{"mapconfig":[1040]},null,{"mapconfig":[{"onMapConfigChanged":0}]}]]],["v-map-error",[[513,"v-map-error",{"for":[1],"position":[513],"autoDismiss":[2,"auto-dismiss"],"max":[2],"log":[1],"toasts":[32]}]]],["v-map-layer-terrain-geotiff",[[769,"v-map-layer-terrain-geotiff",{"loadState":[1537,"load-state"],"url":[1],"projection":[1],"forceProjection":[4,"force-projection"],"visible":[4],"opacity":[2],"zIndex":[2,"z-index"],"nodata":[2],"meshMaxError":[2,"mesh-max-error"],"wireframe":[4],"texture":[1],"color":[16],"colorMap":[1,"color-map"],"valueRange":[16],"elevationScale":[2,"elevation-scale"],"renderMode":[1,"render-mode"],"minZoom":[2,"min-zoom"],"maxZoom":[2,"max-zoom"],"tileSize":[2,"tile-size"],"getError":[64],"getLayerId":[64]},null,{"url":[{"onUrlChanged":0}],"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"projection":[{"onPropertyChanged":0}],"forceProjection":[{"onPropertyChanged":0}],"nodata":[{"onPropertyChanged":0}],"meshMaxError":[{"onPropertyChanged":0}],"wireframe":[{"onPropertyChanged":0}],"texture":[{"onPropertyChanged":0}],"color":[{"onPropertyChanged":0}],"colorMap":[{"onPropertyChanged":0}],"valueRange":[{"onPropertyChanged":0}],"elevationScale":[{"onPropertyChanged":0}],"renderMode":[{"onPropertyChanged":0}],"minZoom":[{"onPropertyChanged":0}],"maxZoom":[{"onPropertyChanged":0}],"tileSize":[{"onPropertyChanged":0}]}]]],["v-map-layercontrol",[[513,"v-map-layercontrol",{"for":[1],"layerGroups":[32]}]]],["v-map_3",[[769,"v-map",{"flavour":[513],"center":[1],"zoom":[2],"useDefaultImportMap":[4,"use-default-import-map"],"cssMode":[1,"css-mode"],"isMapProviderReady":[64],"setView":[64]},null,{"flavour":[{"onFlavourChanged":0}],"zoom":[{"onZoomChanged":0}],"center":[{"onCenterChanged":0}]}],[513,"v-map-layer-osm",{"loadState":[1537,"load-state"],"visible":[516],"opacity":[514],"zIndex":[514,"z-index"],"url":[513],"getError":[64],"getLayerId":[64]},null,{"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"url":[{"onUrlChanged":0}]}],[769,"v-map-layergroup",{"visible":[516],"opacity":[514],"basemapid":[513],"getGroupId":[64]},null,{"visible":[{"onVisibleChanged":0}],"basemapid":[{"onBaseMapIdChanged":0}]}]]],["v-map-layer-geojson_12",[[769,"v-map-layer-geojson",{"loadState":[1537,"load-state"],"geojson":[1025],"url":[513],"visible":[516],"zIndex":[514,"z-index"],"opacity":[514],"fillColor":[513,"fill-color"],"fillOpacity":[514,"fill-opacity"],"strokeColor":[513,"stroke-color"],"strokeWidth":[514,"stroke-width"],"strokeOpacity":[514,"stroke-opacity"],"pointRadius":[514,"point-radius"],"pointColor":[513,"point-color"],"iconUrl":[513,"icon-url"],"iconSize":[513,"icon-size"],"textProperty":[513,"text-property"],"textColor":[513,"text-color"],"textSize":[514,"text-size"],"getLayerId":[64],"getError":[64]},[[4,"styleReady","onStyleReady"]],{"geojson":[{"onGeoJsonChanged":0}],"url":[{"onUrlChanged":0}],"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"fillColor":[{"onStyleChanged":0}],"fillOpacity":[{"onStyleChanged":0}],"strokeColor":[{"onStyleChanged":0}],"strokeWidth":[{"onStyleChanged":0}],"strokeOpacity":[{"onStyleChanged":0}],"pointRadius":[{"onStyleChanged":0}],"pointColor":[{"onStyleChanged":0}],"iconUrl":[{"onStyleChanged":0}],"iconSize":[{"onStyleChanged":0}],"textProperty":[{"onStyleChanged":0}],"textColor":[{"onStyleChanged":0}],"textSize":[{"onStyleChanged":0}]}],[513,"v-map-layer-geotiff",{"loadState":[1537,"load-state"],"url":[1],"visible":[4],"opacity":[2],"zIndex":[2,"z-index"],"nodata":[2],"colorMap":[1,"color-map"],"valueRange":[16],"getError":[64],"getLayerId":[64]},null,{"url":[{"onUrlChanged":0}],"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"nodata":[{"onNodataChanged":0}],"colorMap":[{"onColorMapChanged":0}],"valueRange":[{"onValueRangeChanged":0}]}],[513,"v-map-layer-google",{"loadState":[1537,"load-state"],"mapType":[513,"map-type"],"apiKey":[513,"api-key"],"language":[513],"region":[513],"visible":[516],"opacity":[514],"scale":[513],"maxZoom":[514,"max-zoom"],"styles":[1025],"libraries":[513],"getError":[64]},null,{"styles":[{"parseStyles":0}]}],[513,"v-map-layer-scatterplot",{"loadState":[1537,"load-state"],"data":[513],"url":[513],"getFillColor":[513,"get-fill-color"],"getRadius":[514,"get-radius"],"opacity":[514],"visible":[516],"getError":[64]}],[769,"v-map-layer-terrain",{"loadState":[1537,"load-state"],"elevationData":[513,"elevation-data"],"texture":[513],"elevationDecoder":[513,"elevation-decoder"],"wireframe":[516],"color":[513],"minZoom":[514,"min-zoom"],"maxZoom":[514,"max-zoom"],"meshMaxError":[514,"mesh-max-error"],"visible":[516],"opacity":[514],"zIndex":[514,"z-index"],"didLoad":[32],"getError":[64],"isReady":[64]},null,{"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"elevationData":[{"onTerrainConfigChanged":0}],"texture":[{"onTerrainConfigChanged":0}],"elevationDecoder":[{"onTerrainConfigChanged":0}],"wireframe":[{"onTerrainConfigChanged":0}],"color":[{"onTerrainConfigChanged":0}],"minZoom":[{"onTerrainConfigChanged":0}],"maxZoom":[{"onTerrainConfigChanged":0}],"meshMaxError":[{"onTerrainConfigChanged":0}]}],[769,"v-map-layer-tile3d",{"loadState":[1537,"load-state"],"url":[513],"tilesetOptions":[1,"tileset-options"],"visible":[516],"opacity":[514],"zIndex":[514,"z-index"],"didLoad":[32],"isReady":[64],"getError":[64]},[[4,"styleReady","onStyleReady"]],{"url":[{"onUrlChanged":0}],"tilesetOptions":[{"onTilesetOptionsChanged":0}],"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}]}],[769,"v-map-layer-wcs",{"loadState":[1537,"load-state"],"url":[513],"coverageName":[513,"coverage-name"],"format":[513],"version":[513],"projection":[513],"resolutions":[513],"params":[513],"visible":[516],"opacity":[514],"zIndex":[514,"z-index"],"didLoad":[32],"getError":[64],"isReady":[64]},null,{"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"url":[{"onSourceChanged":0}],"coverageName":[{"onSourceChanged":0}],"format":[{"onSourceChanged":0}],"version":[{"onSourceChanged":0}],"projection":[{"onSourceChanged":0}],"resolutions":[{"onSourceChanged":0}],"params":[{"onSourceChanged":0}]}],[769,"v-map-layer-wfs",{"loadState":[1537,"load-state"],"url":[513],"typeName":[513,"type-name"],"version":[513],"outputFormat":[513,"output-format"],"srsName":[513,"srs-name"],"params":[513],"visible":[516],"opacity":[514],"zIndex":[514,"z-index"],"didLoad":[32],"getError":[64],"isReady":[64]},[[4,"styleReady","onStyleReady"]],{"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"url":[{"onSourceChanged":0}],"typeName":[{"onSourceChanged":0}],"version":[{"onSourceChanged":0}],"outputFormat":[{"onSourceChanged":0}],"srsName":[{"onSourceChanged":0}],"params":[{"onSourceChanged":0}]}],[513,"v-map-layer-wkt",{"loadState":[1537,"load-state"],"wkt":[513],"url":[513],"visible":[516],"opacity":[514],"zIndex":[514,"z-index"],"fillColor":[513,"fill-color"],"fillOpacity":[514,"fill-opacity"],"strokeColor":[513,"stroke-color"],"strokeWidth":[514,"stroke-width"],"strokeOpacity":[514,"stroke-opacity"],"pointRadius":[514,"point-radius"],"pointColor":[513,"point-color"],"iconUrl":[513,"icon-url"],"iconSize":[513,"icon-size"],"textProperty":[513,"text-property"],"textColor":[513,"text-color"],"textSize":[514,"text-size"],"getError":[64],"getLayerId":[64]},[[4,"styleReady","onStyleReady"]],{"wkt":[{"onWktChanged":0}],"url":[{"onUrlChanged":0}],"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"fillColor":[{"onStyleChanged":0}],"fillOpacity":[{"onStyleChanged":0}],"strokeColor":[{"onStyleChanged":0}],"strokeWidth":[{"onStyleChanged":0}],"strokeOpacity":[{"onStyleChanged":0}],"pointRadius":[{"onStyleChanged":0}],"pointColor":[{"onStyleChanged":0}],"iconUrl":[{"onStyleChanged":0}],"iconSize":[{"onStyleChanged":0}],"textProperty":[{"onStyleChanged":0}],"textColor":[{"onStyleChanged":0}],"textSize":[{"onStyleChanged":0}]}],[513,"v-map-layer-wms",{"loadState":[1537,"load-state"],"url":[513],"layers":[513],"styles":[513],"format":[513],"transparent":[516],"tiled":[516],"visible":[516],"opacity":[514],"zIndex":[514,"z-index"],"getError":[64]},null,{"visible":[{"onVisibleChanged":0}],"opacity":[{"onOpacityChanged":0}],"zIndex":[{"onZIndexChanged":0}],"url":[{"onUrlChanged":0}],"layers":[{"onLayersChanged":0}],"styles":[{"onStylesChanged":0}]}],[513,"v-map-layer-xyz",{"loadState":[1537,"load-state"],"url":[513],"attributions":[513],"maxZoom":[514,"max-zoom"],"tileSize":[514,"tile-size"],"subdomains":[513],"visible":[516],"opacity":[514],"getError":[64]}],[769,"v-map-style",{"format":[513],"src":[513],"content":[513],"layerTargets":[513,"layer-targets"],"autoApply":[516,"auto-apply"],"parsedStyle":[32],"isLoading":[32],"error":[32],"getStyle":[64],"getLayerTargetIds":[64]},null,{"src":[{"onStyleSourceChanged":0}],"content":[{"onStyleSourceChanged":0}],"format":[{"onStyleSourceChanged":0}]}]]]], options);
|
|
21
21
|
});
|
|
@@ -20,19 +20,19 @@ async function createProvider(engine) {
|
|
|
20
20
|
try {
|
|
21
21
|
switch (engine) {
|
|
22
22
|
case 'ol': {
|
|
23
|
-
const { OpenLayersProvider } = await import('./openlayers-provider-
|
|
23
|
+
const { OpenLayersProvider } = await import('./openlayers-provider-BZvqx4li.js');
|
|
24
24
|
return new OpenLayersProvider();
|
|
25
25
|
}
|
|
26
26
|
case 'cesium': {
|
|
27
|
-
const { CesiumProvider } = await import('./cesium-provider-
|
|
27
|
+
const { CesiumProvider } = await import('./cesium-provider-BkuYkY7L.js');
|
|
28
28
|
return new CesiumProvider();
|
|
29
29
|
}
|
|
30
30
|
case 'deck': {
|
|
31
|
-
const { DeckProvider } = await import('./deck-provider-
|
|
31
|
+
const { DeckProvider } = await import('./deck-provider-Bi-KjKaQ.js').then(function (n) { return n.aX; });
|
|
32
32
|
return new DeckProvider();
|
|
33
33
|
}
|
|
34
34
|
case 'leaflet': {
|
|
35
|
-
const { LeafletProvider } = await import('./leaflet-provider-
|
|
35
|
+
const { LeafletProvider } = await import('./leaflet-provider-LXeX9dPk.js');
|
|
36
36
|
return new LeafletProvider();
|
|
37
37
|
}
|
|
38
38
|
default: {
|
|
@@ -185,6 +185,46 @@ const VMap = class {
|
|
|
185
185
|
// await this.createMap();
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* When the `zoom` prop changes from outside (e.g. a slider in the
|
|
190
|
+
* consuming app), update the underlying provider's view *without*
|
|
191
|
+
* resetting the user's current center. We query the live center
|
|
192
|
+
* from the provider via getView() because the user may have panned
|
|
193
|
+
* the map since init - the original `this.center` prop is the seed
|
|
194
|
+
* value, not the current state.
|
|
195
|
+
*/
|
|
196
|
+
async onZoomChanged(oldValue, newValue) {
|
|
197
|
+
if (oldValue === newValue)
|
|
198
|
+
return;
|
|
199
|
+
if (this.mapState !== 'available' || !this.mapProvider)
|
|
200
|
+
return;
|
|
201
|
+
const view = this.mapProvider.getView?.();
|
|
202
|
+
const currentCenter = view?.center ?? this.parseCenter();
|
|
203
|
+
log(MSG_COMPONENT$2 + 'onZoomChanged ' + newValue);
|
|
204
|
+
await this.mapProvider.setView(currentCenter, newValue);
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Same idea for `center`: keep the user's current zoom intact when
|
|
208
|
+
* the parent updates only the center.
|
|
209
|
+
*/
|
|
210
|
+
async onCenterChanged(oldValue, newValue) {
|
|
211
|
+
if (oldValue === newValue)
|
|
212
|
+
return;
|
|
213
|
+
if (this.mapState !== 'available' || !this.mapProvider)
|
|
214
|
+
return;
|
|
215
|
+
const view = this.mapProvider.getView?.();
|
|
216
|
+
const currentZoom = view?.zoom ?? this.zoom;
|
|
217
|
+
const newCenter = this.parseCenter(newValue);
|
|
218
|
+
log(MSG_COMPONENT$2 + 'onCenterChanged ' + newValue);
|
|
219
|
+
await this.mapProvider.setView(newCenter, currentZoom);
|
|
220
|
+
}
|
|
221
|
+
parseCenter(raw = this.center) {
|
|
222
|
+
const parts = raw.split(',').map(parseFloat);
|
|
223
|
+
if (!Number.isFinite(parts[0]) || !Number.isFinite(parts[1])) {
|
|
224
|
+
throw new Error(`<v-map>: Ungültiges center-Prop: "${raw}" (erwartet "lon,lat")`);
|
|
225
|
+
}
|
|
226
|
+
return parts;
|
|
227
|
+
}
|
|
188
228
|
reset() {
|
|
189
229
|
this.unsubscribeResize?.();
|
|
190
230
|
this.unsubscribePointerMove?.();
|
|
@@ -320,11 +360,17 @@ const VMap = class {
|
|
|
320
360
|
render() {
|
|
321
361
|
log(MSG_COMPONENT$2 + MESSAGES.COMPONENT_RENDER);
|
|
322
362
|
//return <div id="map-container"></div>;
|
|
323
|
-
return (h("div", { key: '
|
|
363
|
+
return (h("div", { key: 'fdedf29697c3e46e3f3ee14dc8cd7beb937167ee' }, h("slot", { key: '4e8370c56d14e11f9bf98fad44c78c689d570653' })));
|
|
324
364
|
}
|
|
325
365
|
static get watchers() { return {
|
|
326
366
|
"flavour": [{
|
|
327
367
|
"onFlavourChanged": 0
|
|
368
|
+
}],
|
|
369
|
+
"zoom": [{
|
|
370
|
+
"onZoomChanged": 0
|
|
371
|
+
}],
|
|
372
|
+
"center": [{
|
|
373
|
+
"onCenterChanged": 0
|
|
328
374
|
}]
|
|
329
375
|
}; }
|
|
330
376
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { V as v_map, a as v_map_layer_osm, b as v_map_layergroup } from './v-map.v-map-layer-osm.v-map-layergroup-
|
|
1
|
+
export { V as v_map, a as v_map_layer_osm, b as v_map_layergroup } from './v-map.v-map-layer-osm.v-map-layergroup-DIfNm6nG.js';
|
|
2
2
|
import './index-BoNyIrdq.js';
|
|
3
3
|
import './messages-QJHuuz0g.js';
|
|
4
4
|
import './events-CrV_misM.js';
|
|
@@ -45,6 +45,21 @@ export declare class VMap {
|
|
|
45
45
|
private unsubscribeResize;
|
|
46
46
|
private unsubscribePointerMove;
|
|
47
47
|
onFlavourChanged(oldValue: string, newValue: string): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* When the `zoom` prop changes from outside (e.g. a slider in the
|
|
50
|
+
* consuming app), update the underlying provider's view *without*
|
|
51
|
+
* resetting the user's current center. We query the live center
|
|
52
|
+
* from the provider via getView() because the user may have panned
|
|
53
|
+
* the map since init - the original `this.center` prop is the seed
|
|
54
|
+
* value, not the current state.
|
|
55
|
+
*/
|
|
56
|
+
onZoomChanged(oldValue: number, newValue: number): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Same idea for `center`: keep the user's current zoom intact when
|
|
59
|
+
* the parent updates only the center.
|
|
60
|
+
*/
|
|
61
|
+
onCenterChanged(oldValue: string, newValue: string): Promise<void>;
|
|
62
|
+
private parseCenter;
|
|
48
63
|
private reset;
|
|
49
64
|
private createMap;
|
|
50
65
|
componentWillLoad(): Promise<void>;
|
|
@@ -82,6 +82,10 @@ export declare class CesiumProvider implements MapProvider {
|
|
|
82
82
|
private createTile3DLayer;
|
|
83
83
|
updateLayer(layerId: string, update: LayerUpdate): Promise<void>;
|
|
84
84
|
setView(center: LonLat, zoom: number): Promise<void>;
|
|
85
|
+
getView(): {
|
|
86
|
+
center: LonLat;
|
|
87
|
+
zoom: number;
|
|
88
|
+
} | null;
|
|
85
89
|
private fetchWFSFromUrl;
|
|
86
90
|
private appendParams;
|
|
87
91
|
}
|
|
@@ -6,6 +6,7 @@ import { Deck } from '@deck.gl/core';
|
|
|
6
6
|
import type { Layer } from '@deck.gl/core';
|
|
7
7
|
export declare class DeckProvider implements MapProvider {
|
|
8
8
|
private deck;
|
|
9
|
+
private currentViewState;
|
|
9
10
|
private target;
|
|
10
11
|
private shadowRoot;
|
|
11
12
|
private injectedStyle;
|
|
@@ -76,6 +77,10 @@ export declare class DeckProvider implements MapProvider {
|
|
|
76
77
|
setVisible(layerId: string, visible: boolean): Promise<void>;
|
|
77
78
|
setGroupVisible(groupId: string, visible: boolean): Promise<void>;
|
|
78
79
|
setView([lon, lat]: LonLat, zoom: number): Promise<void>;
|
|
80
|
+
getView(): {
|
|
81
|
+
center: LonLat;
|
|
82
|
+
zoom: number;
|
|
83
|
+
} | null;
|
|
79
84
|
private createWKTLayer;
|
|
80
85
|
private resolveWktToGeoJSON;
|
|
81
86
|
private resolveWktText;
|
|
@@ -36,6 +36,10 @@ export declare class LeafletProvider implements MapProvider {
|
|
|
36
36
|
private tryParseStyles;
|
|
37
37
|
destroy(): Promise<void>;
|
|
38
38
|
setView([lon, lat]: LonLat, zoom: number): Promise<void>;
|
|
39
|
+
getView(): {
|
|
40
|
+
center: LonLat;
|
|
41
|
+
zoom: number;
|
|
42
|
+
} | null;
|
|
39
43
|
onLayerError(layerId: string, callback: LayerErrorCallback): void;
|
|
40
44
|
offLayerError(layerId: string): void;
|
|
41
45
|
removeLayer(layerId: string): Promise<void>;
|
|
@@ -50,6 +50,10 @@ export declare class OpenLayersProvider implements MapProvider {
|
|
|
50
50
|
offLayerError(layerId: string): void;
|
|
51
51
|
private attachSourceErrorListeners;
|
|
52
52
|
setView(center: LonLat, zoom: number): Promise<void>;
|
|
53
|
+
getView(): {
|
|
54
|
+
center: LonLat;
|
|
55
|
+
zoom: number;
|
|
56
|
+
} | null;
|
|
53
57
|
private _forEachLayer;
|
|
54
58
|
private _getLayerById;
|
|
55
59
|
private _getLayerGroupById;
|
|
@@ -33,6 +33,17 @@ export interface MapProvider {
|
|
|
33
33
|
setBaseLayer?(groupId: string, layerElementId: string): Promise<void>;
|
|
34
34
|
/** View/Camera setzen; in OL/Cesium meist async (Animations/Promises), daher Promise<void> */
|
|
35
35
|
setView(center: LonLat, zoom: number): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Aktuelle View/Camera des Providers abfragen. Spiegelt den IST-Stand
|
|
38
|
+
* (nach User-Pan/Zoom) wider, NICHT die initialen Init-Optionen.
|
|
39
|
+
* Wird von `<v-map>`'s `@Watch('zoom')` / `@Watch('center')` Handlern
|
|
40
|
+
* benutzt, um partielle Updates ohne Daten-Verlust zusammenzubauen.
|
|
41
|
+
* Gibt `null` zurück, wenn der Provider noch nicht initialisiert ist.
|
|
42
|
+
*/
|
|
43
|
+
getView?(): {
|
|
44
|
+
center: LonLat;
|
|
45
|
+
zoom: number;
|
|
46
|
+
} | null;
|
|
36
47
|
ensureGroup(groupId: string, visible: boolean, opts?: {
|
|
37
48
|
basemapid?: string;
|
|
38
49
|
}): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"ol/Map";import t from"ol/View";import r from"ol/layer/Vector";import o from"ol/layer/Group";import s from"ol/layer/Tile";import n from"ol/layer/Image";import a from"ol/source/Vector";import i from"ol/source/TileWMS";import c from"ol/source/OSM";import l from"ol/source/XYZ";import u from"ol/source/Google";import f from"ol/source/TileArcGISRest";import w from"ol/Image";import h from"ol/source/Image";import y from"ol/format/GeoJSON";import p from"ol/format/GML2";import m from"ol/format/GML3";import g from"ol/format/GML32";import d from"ol/format/WKT";import b from"ol/control/Control";import S from"ol/style/Style";import L from"ol/style/Fill";import j from"ol/style/Stroke";import G from"ol/style/Circle";import I from"ol/style/Icon";import v from"ol/style/Text";import{bbox as E}from"ol/loadingstrategy";import{get as k,fromLonLat as F,toLonLat as $}from"ol/proj";import{D as P}from"./p-B-bAcABs.js";import{w as T,e as x,l as C}from"./p-QJHuuz0g.js";import{O as W}from"./p-BOfJXm8U.js";import O from"./p-RpJarvr_.js";import M from"ol/source/GeoTIFF";import{g as R}from"./p-CXfA_q8m.js";import{register as A}from"ol/proj/proj4";import z from"ol/layer/WebGLTile";import"./p-BoNyIrdq.js";import"./p-CrV_misM.js";import"./p-DVBtCUtQ.js";import"./p-E-ZsRS8r.js";async function N(e){return class extends M{geoKeys_=null;constructor(){super(e)}async getGeoKeys(){if(null!==this.geoKeys_)return this.geoKeys_;await this.getView();const e=this.sourceImagery_;return e&&e.length>0&&this.determineGeoKeys(e),this.geoKeys_}determineGeoKeys(e){if(!e||0===e.length)return;const t=e[0];for(let e=t.length-1;e>=0;--e){const o="function"==typeof(r=t[e]).getGeoKeys?r.getGeoKeys()||null:r.geoKeys||null;if(o){this.geoKeys_=o;break}}var r}async getProjectionParameters(){const e=await this.getGeoKeys();return e?R.toProj4(e):null}async getProj4String(){const e=await this.getProjectionParameters();return e&&e.proj4||null}async registerProjectionIfNeeded(){try{const e=await this.getProj4String(),t=this.getProjection()?.getCode();return k(t)||(null===e?(T(`Can not get proj string for code: ${t}`),null):(O.defs(t,e),A(O),k(t)))}catch(e){return x("Fehler bei der Registrierung der Projektion:",e),null}}}}class B{map;layers=[];baseLayers=[];googleLogoAdded=!1;projection="EPSG:3857";layerErrorCallbacks=new globalThis.Map;layerErrorCleanups=new globalThis.Map;async init(r){await async function(e){if(!e)return;const t="ol-css-sheet";if(e.querySelector(`style[data-id="${t}"]`))return;const r=`https://cdn.jsdelivr.net/npm/ol@${W}/ol.css`,o=await(await fetch(r)).text();if("adoptedStyleSheets"in Document.prototype){const t=new CSSStyleSheet;await t.replace(o),e.adoptedStyleSheets=[...e.adoptedStyleSheets??[],t]}else{const r=document.createElement("style");r.setAttribute("data-id",t),r.textContent=o,e.appendChild(r)}}(r.shadowRoot),Object.assign(r.target.style,{width:"100%",height:"100%",position:"relative",background:"#fff"}),this.map=new e({target:r.target,layers:[],view:new t({projection:this.projection,center:F(r?.mapInitOptions?.center??[0,0]),zoom:r?.mapInitOptions?.zoom??2})}),new ResizeObserver((()=>this.map?.updateSize())).observe(r.target)}async destroy(){this.map?.setTarget(void 0),this.map=void 0}async updateLayer(e,t){const r=await this._getLayerById(e);switch(t.type){case"geojson":await this.updateGeoJSONLayer(r,t.data);break;case"osm":await this.updateOSMLayer(r,t.data);break;case"wms":await this.updateWMSLayer(r,t.data);break;case"wfs":await this.updateWFSLayer(r,t.data);break;case"wcs":await this.updateWCSLayer(r,t.data);break;case"arcgis":await this.updateArcGISLayer(r,t.data);break;case"wkt":await this.updateWKTLayer(r,t.data);break;case"geotiff":await this.updateGeoTIFFLayer(r,t.data)}}async ensureGroup(e,t,r){await this._ensureGroup(e,t)}async _ensureGroup(e,t){if(!this.map)return null;let r=this.layers.find((t=>t.get?.("groupId")===e));return r||(r=new o({layers:[],properties:{groupId:e,visible:void 0===typeof t||t}}),this.map.addLayer(r),this.layers.push(r)),r}async setBaseLayer(e,t){if(null===t)return void C("ol - setBaseLayer - layerElementId is null.");const r=this.layers.find((t=>t.get?.("groupId")===e)),o=this.baseLayers.find((e=>e.get("layerElementId")===t));void 0!==o?(r.getLayers().clear(),r.getLayers().push(o)):C("ol - setBaseLayer - layer not found. layerElementId: "+t)}async addBaseLayer(e,t,r){if(null==r)return C("ol - addBaseLayer - layerElementId not set."),null;null==t&&C("ol - addBaseLayer - basemapid not set.");const o=await this._ensureGroup(e.groupId,e.groupVisible);if(null==o)return null;o.set("basemap",!0,!1);const s=await this.createLayer(e);if(null==s)return null;s.set("group",o),this.baseLayers.push(s);let n=null;if(s){n=crypto.randomUUID(),s.set("id",n,!1),s.set("layerElementId",r,!1);const a=e;void 0!==a.opacity&&s.setOpacity(a.opacity),void 0!==a.zIndex&&s.setZIndex(a.zIndex),a.visible?s.setVisible(!0):!1===a.visible&&s.setVisible(!1),t===r&&(o.getLayers().clear(),o.getLayers().push(s))}return n}async addLayerToGroup(e){const t=await this._ensureGroup(e.groupId,e.groupVisible);if(null==t)return null;const r=await this.createLayer(e);if(null===r)return null;r.set("group",t),t.getLayers().push(r);const o=crypto.randomUUID();r.set("id",o,!1);const s=e;return void 0!==s.opacity&&r.setOpacity(s.opacity),void 0!==s.zIndex&&r.setZIndex(s.zIndex),s.visible?r.setVisible(!0):!1===s.visible&&r.setVisible(!1),o}async createLayer(e){switch(e.type){case"geojson":return this.createGeoJSONLayer(e);case"xyz":return this.createXYZLayer(e);case"google":return this.createGoogleLayer(e);case"osm":return this.createOSMLayer(e);case"wms":return this.createWMSLayer(e);case"wfs":return this.createWFSLayer(e);case"wcs":return this.createWCSLayer(e);case"arcgis":return this.createArcGISLayer(e);case"wkt":return this.createWKTLayer(e);case"geotiff":return this.createGeoTIFFLayer(e);default:throw new Error(`Unsupported layer type: ${e.type}`)}}async updateWMSLayer(e,t){e.setSource(new i({url:t.url,params:{LAYERS:t.layers,TILED:!0,...t.extraParams??{}}}))}async updateOSMLayer(e,t){let r="https://tile.openstreetmap.org/{z}/{x}/{y}.png";t.url&&(r=t.url+"/{z}/{x}/{y}.png"),e.setSource(new c({url:r}))}async updateGeoJSONLayer(e,t){let r=null;const o={featureProjection:this.projection};if(t.geojson){const e=JSON.parse(t.geojson);r=new a({features:new y(o).readFeatures(e)})}else r=new a({url:t.url,format:new y(o)});let s;e.setSource(r),t.geostylerStyle?s=await this.createGeostylerStyleFunction(t.geostylerStyle):t.style&&(s=await this.createEnhancedStyleFunction(t.style)),s&&e.setStyle(s)}async updateWFSLayer(e,t){const r=this.mergeLayerConfig(e,"wfsConfig",t),o=await this.createWFSSpource(r);let s;e.setSource(o),r.geostylerStyle?s=await this.createGeostylerStyleFunction(r.geostylerStyle):r.style&&(s=await this.createEnhancedStyleFunction(r.style)),s&&e.setStyle(s)}async updateWCSLayer(e,t){const r=this.mergeLayerConfig(e,"wcsConfig",t),o=await this.createWcsSource(r);e.setSource(o)}async updateArcGISLayer(e,t){const r=e,o=r.getSource(),s={...o?.getParams?.()??{},...t?.params??{}};t?.token&&(s.token=t.token);const n={url:t?.url??o?.getUrls?.()?.[0],params:s,...t?.options??{}},a=new f(n);r.setSource(a)}async createEnhancedStyleFunction(e){function t(e,t){if(e.startsWith("rgba")){const r=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);if(r){const[,e,o,s]=r;return`rgba(${e}, ${o}, ${s}, ${t})`}}else if(e.startsWith("rgb")){const r=e.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);if(r){const[,e,o,s]=r;return`rgba(${e}, ${o}, ${s}, ${t})`}}else if(e.startsWith("#")){const r=e.slice(1);return`rgba(${parseInt(r.slice(0,2),16)}, ${parseInt(r.slice(2,4),16)}, ${parseInt(r.slice(4,6),16)}, ${t})`}return e}return r=>{const o=[],s=r.getGeometry().getType(),n=new L({color:t(e.fillColor??"rgba(0,100,255,0.3)",e.fillOpacity??.3)}),a=e.strokeWidth??2,i=new j({color:t(e.strokeColor??"rgba(0,100,255,1)",e.strokeOpacity??1),width:a,lineDash:e.strokeDashArray});if(o.push(new S("Point"===s?e.iconUrl?{image:new I({src:e.iconUrl,size:e.iconSize||[32,32],anchor:e.iconAnchor||[.5,1]})}:{image:new G({radius:e.pointRadius??6,fill:new L({color:t(e.pointColor??"rgba(0,100,255,1)",e.pointOpacity??1)}),stroke:i})}:{fill:s.includes("Polygon")?n:void 0,stroke:i})),e.textProperty&&r.get(e.textProperty)){const t=e.textColor??"#000000",s=e.textSize??12,n=e.textHaloColor,a=e.textHaloWidth??2,i=e.textOffset||[0,0];o.push(new S({text:new v({text:String(r.get(e.textProperty)),font:`${s}px Arial`,fill:new L({color:t}),stroke:n?new j({color:n,width:a}):void 0,offsetX:i[0],offsetY:i[1]})}))}return o}}async createGeoJSONLayer(e){let t=null;const o={featureProjection:this.projection};if(e.geojson){const r=JSON.parse(e.geojson);t=new a({features:new y(o).readFeatures(r)})}else t=new a({url:e.url,format:new y(o)});let s;if(e.geostylerStyle)s=await this.createGeostylerStyleFunction(e.geostylerStyle);else{const t=e.style?{...P,...e.style}:P;s=await this.createEnhancedStyleFunction(t)}return new r({source:t,style:s})}async createWFSSpource(e){const t=(e.outputFormat??"application/json").toLowerCase();let r=new y;switch(t){case"gml2":r=new p;break;case"gml3":r=new m;break;case"gml32":r=new g}const o=this.getWFSGetFeatureUrl(e);return new a({format:r,url:o,strategy:E})}async createWFSLayer(e){const t=await this.createWFSSpource(e);let o;if(e.geostylerStyle)o=await this.createGeostylerStyleFunction(e.geostylerStyle);else{const t=e.style?{...P,...e.style}:P;o=await this.createEnhancedStyleFunction(t)}const s=new r({source:t,style:o});return s.set("wfsConfig",e,!1),s}async createGeostylerStyleFunction(e){const t=(e,t)=>null==e||"object"==typeof e&&e.name?t:e;return r=>{const o=[],s=r.getGeometry().getType();if(e.rules)for(const n of e.rules)if(n.symbolizers)for(const e of n.symbolizers)switch(e.kind){case"Fill":if(s.includes("Polygon")){const r=t(e.color,"rgba(0,100,255,0.3)"),s=t(e.outlineColor),n=t(e.outlineWidth,1);o.push(new S({fill:new L({color:r}),stroke:s?new j({color:s,width:n}):void 0}))}break;case"Line":{const r=t(e.color,"rgba(0,100,255,1)"),s=t(e.width,1),n=e.dasharray&&Array.isArray(e.dasharray)?e.dasharray.map((e=>t(e,0))):void 0;o.push(new S({stroke:new j({color:r,width:s,lineDash:n})}))}break;case"Mark":if("Point"===s){const r=t(e.color,"rgba(0,100,255,1)"),s=t(e.radius,6),n=t(e.strokeColor),a=t(e.strokeWidth,1);o.push(new S({image:new G({radius:s,fill:new L({color:r}),stroke:n?new j({color:n,width:a}):void 0})}))}break;case"Icon":if("Point"===s){const r=t(e.image),s=t(e.size,32),n=t(e.opacity,1);r&&"string"==typeof r&&o.push(new S({image:new I({src:r,size:[s,s],opacity:n})}))}break;case"Text":{const s=e,n=t(s.label);if(n&&r.get(n)){const e=t(s.color,"#000000"),a=t(s.size,12),i=t(s.font?.[0],"Arial"),c=t(s.haloColor),l=t(s.haloWidth,1),u=s.offset,f=u&&Array.isArray(u)?t(u[0],0):0,w=u&&Array.isArray(u)?t(u[1],0):0;o.push(new S({text:new v({text:String(r.get(n)),font:`${a}px ${i}`,fill:new L({color:e}),stroke:c?new j({color:c,width:l}):void 0,offsetX:f,offsetY:w})}))}}}return o.length>0?o:void 0}}async createXYZLayer(e){return new s({source:new l({url:e.url,attributions:e.attributions,maxZoom:e.maxZoom??19,...e.options??{}})})}async createGoogleLayer(e){if(!e.apiKey)throw new Error("Google-Layer benötigt 'apiKey' (Google Maps Platform).");const t=new u({key:e.apiKey,mapType:e.mapType??"roadmap",scale:e.scale??"scaleFactor2x",highDpi:e.highDpi??!0,language:e.language,region:e.region,imageFormat:e.imageFormat,styles:e.styles,layerTypes:e.layerTypes});t.on("change",(()=>{if("error"===t.getState()){const e=t.getError();x("Google source error",e),this.map.getTargetElement()?.dispatchEvent(new CustomEvent("google-source-error",{detail:{message:e??"Google source error"},bubbles:!0,composed:!0}))}}));const r=new s({source:t});if(!this.googleLogoAdded){class e extends b{constructor(){const e=document.createElement("img");e.style.pointerEvents="none",e.style.position="absolute",e.style.bottom="5px",e.style.left="5px",e.style.height="18px",e.alt="Google",e.src="https://developers.google.com/static/maps/documentation/images/google_on_white.png",super({element:e})}}this.map.addControl(new e),this.googleLogoAdded=!0}return r}async createOSMLayer(e){let t="https://tile.openstreetmap.org/{z}/{x}/{y}.png";return e.url&&(t=e.url+"/{z}/{x}/{y}.png"),new s({source:new c({url:t})})}async createWMSLayer(e){return new s({source:new i({url:e.url,params:{LAYERS:e.layers,TILED:!0,...e.extraParams??{}}})})}onLayerError(e,t){this.layerErrorCallbacks.set(e,t),this._getLayerById(e).then((t=>{t&&this.attachSourceErrorListeners(e,t)}))}offLayerError(e){this.layerErrorCleanups.get(e)?.(),this.layerErrorCleanups.delete(e),this.layerErrorCallbacks.delete(e)}attachSourceErrorListeners(e,t){this.layerErrorCleanups.get(e)?.();const r=this.layerErrorCallbacks.get(e);if(!r)return;const o=t.getSource?.();if(!o)return;const s=[];if("getTile"in o||o instanceof i||o instanceof c||o instanceof l||o instanceof u||o instanceof f){const e=()=>{r({type:"network",message:"Tile load error"})};o.on("tileloaderror",e),s.push((()=>o.un("tileloaderror",e)))}if(o instanceof a){const e=()=>{r({type:"network",message:"Feature load error"})};o.on("featuresloaderror",e),s.push((()=>o.un("featuresloaderror",e)))}if(o instanceof h){const e=()=>{r({type:"network",message:"Image load error"})};o.on("imageloaderror",e),s.push((()=>o.un("imageloaderror",e)))}const n=()=>{this.attachSourceErrorListeners(e,t)};t.on("change:source",n),s.push((()=>t.un("change:source",n))),this.layerErrorCleanups.set(e,(()=>s.forEach((e=>e()))))}async setView(e,t){this.map&&this.map.getView().animate({center:F(e),zoom:t,duration:0})}getView(){if(!this.map)return null;const e=this.map.getView(),t=e.getCenter();if(!t)return null;const[r,o]=$(t);return{center:[r,o],zoom:e.getZoom()??0}}async _forEachLayer(e,t){if(e instanceof o){const r=e.getLayers().getArray();for(const e of r)if(await this._forEachLayer(e,t))return!0}else if(t(e))return!0;return!1}async _getLayerById(e){if(!this.map)return null;let t=null;return await this._forEachLayer(this.map.getLayerGroup(),(r=>{if(r.get("id")===e)return t=r,!0})),t||(t=this.baseLayers.find((t=>t.get("id")===e)),void 0===t?null:t)}async _getLayerGroupById(e){if(!this.map)return null;const t=this.layers.find((t=>t.get?.("groupId")===e));return void 0!==t?t:null}async removeLayer(e){if(!e)return;this.offLayerError(e);const t=await this._getLayerById(e);if(t){const e=t.get("group");e&&e.getLayers().remove(t)}}async setOpacity(e,t){if(!e)return;const r=await this._getLayerById(e);r&&r.setOpacity(t)}async setZIndex(e,t){if(!e)return;const r=await this._getLayerById(e);r&&r.setZIndex(t)}async setVisible(e,t){const r=await this._getLayerById(e);r&&r.setVisible(t)}async setGroupVisible(e,t){const r=await this._getLayerGroupById(e);r&&r.setVisible(t)}async updateWKTLayer(e,t){const r=new d;let o=null;const s=this.map?.getView()?.getProjection();if(t.wkt){const e=r.readFeature(t.wkt,{dataProjection:"EPSG:4326",featureProjection:s});o=new a({features:[e]})}else if(t.url){const e=await fetch(t.url);if(!e.ok)throw new Error(`Failed to fetch WKT: ${e.status}`);const n=await e.text(),i=r.readFeature(n,{dataProjection:"EPSG:4326",featureProjection:s});o=new a({features:[i]})}let n;o&&e.setSource(o),t.geostylerStyle?n=await this.createGeostylerStyleFunction(t.geostylerStyle):t.style&&(n=await this.createEnhancedStyleFunction(t.style)),n&&e.setStyle(n)}async createWKTLayer(e){const t=new d;let o=null;const s=this.map?.getView()?.getProjection();if(e.wkt)try{const r=t.readFeature(e.wkt,{dataProjection:"EPSG:4326",featureProjection:s});o=new a({features:[r]})}catch(e){x("Failed to parse WKT:",e),o=new a({features:[]})}else if(e.url)try{const r=await fetch(e.url);if(!r.ok)throw new Error(`Failed to fetch WKT: ${r.status}`);const n=await r.text(),i=t.readFeature(n,{dataProjection:"EPSG:4326",featureProjection:s});o=new a({features:[i]})}catch(e){x("Failed to load WKT from URL:",e),o=new a({features:[]})}else o=new a({features:[]});let n;if(e.geostylerStyle)n=await this.createGeostylerStyleFunction(e.geostylerStyle);else{const t=e.style?{...P,...e.style}:P;n=await this.createEnhancedStyleFunction(t)}return new r({source:o,style:n,opacity:e.opacity??1,visible:e.visible??!0,zIndex:e.zIndex??1e3})}async createGeoTIFFLayer(e){if(!e.url)throw new Error("GeoTIFF layer requires a URL");const t={url:e.url};null===e.nodata||isNaN(e.nodata)||(t.nodata=e.nodata);const r=new(await N({sources:[t],wrapX:!1}));return await r.registerProjectionIfNeeded(),new z({source:r,opacity:e.opacity??1,visible:e.visible??!0,zIndex:e.zIndex??100})}async createWCSLayer(e){const t=await this.createWcsSource(e),r=new n({source:t,visible:e.visible??!0,opacity:e.opacity??1});return r.set("wcsConfig",e,!1),r}getWFSGetFeatureUrl(e){return t=>{const r={service:"WFS",request:"GetFeature",version:e.version??"1.1.0",typeName:e.typeName,outputFormat:e.outputFormat??"application/json",bbox:t.join(","),srsName:e.srsName??this.projection,...e.params??{}};return this.appendParams(e.url,r)}}getWCSGetCoverageUrl(e,t){return r=>{const o=e.version??"2.0.1",s=e.format??"image/tiff",n=e.projection??this.projection,a={SERVICE:"WCS",REQUEST:"GetCoverage",VERSION:o,FORMAT:s};if(o.startsWith("2.0")){a.coverageId=e.coverageName;const[t,o,n,i]=r;a.subset=`X(${t},${n})`,a.subset2=`Y(${o},${i})`,(s.includes("tiff")||s.includes("geotiff"))&&(a["geotiff:compression"]="LZW")}else{a.COVERAGE=e.coverageName,a.BBOX=r.join(","),a.CRS=n;const o=Math.round((r[2]-r[0])/t),s=Math.round((r[3]-r[1])/t);a.WIDTH=o,a.HEIGHT=s}if(e.params&&Object.entries(e.params).forEach((([e,t])=>{"string"!=typeof t&&"number"!=typeof t||(a[e]=t)})),o.startsWith("2.0")){const t=a.subset2;delete a.subset2;const r=new URLSearchParams;Object.entries(a).forEach((([e,t])=>{null!=t&&r.append(e,String(t))})),t&&r.append("subset",String(t));const o=e.url;return`${o}${o.includes("?")?"&":"?"}${r.toString()}`}return this.appendParams(e.url,a)}}mergeLayerConfig(e,t,r){const o={...e.get(t)??{},...r};return e.set(t,o,!1),o}appendParams(e,t){const r=new URLSearchParams;return Object.entries(t).forEach((([e,t])=>{null!=t&&r.set(e,String(t))})),r.toString()?`${e}${e.includes("?")?"&":"?"}${r.toString()}`:e}async createWcsSource(e){const t=e.projection??this.projection,r=this.map?.getView()?.getResolution()??1,o=this.getWCSGetCoverageUrl(e,r);return new class extends h{urlFunction_;constructor(r){super({projection:t,resolutions:e.resolutions}),this.urlFunction_=r}getImageInternal(e,t,r,o){const s=this.urlFunction_(e),n=new w(e,t,r,s);return n.load=()=>{const e=n.getImage();e.src!==s&&(e.crossOrigin="anonymous",e.src=s)},n}}(o)}async createArcGISLayer(e){const t={...e.params??{}};e.token&&(t.token=e.token);const r={url:e.url,params:t,...e.options??{}};return new s({source:new f(r),visible:e.visible??!0})}async updateGeoTIFFLayer(e,t){if(!t.url)throw new Error("GeoTIFF update requires a URL");const r={url:t.url};null==t.nodata||isNaN(t.nodata)||(r.nodata=t.nodata);const o=new(await N({sources:[r],wrapX:!1}));await o.registerProjectionIfNeeded(),e.setSource(o)}getMap(){return this.map}}export{B as OpenLayersProvider}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as e,g as s,h as a}from"./p-BoNyIrdq.js";import{l as i,M as n}from"./p-QJHuuz0g.js";import{V as o}from"./p-CrV_misM.js";import{V as r}from"./p-DVBtCUtQ.js";const h="1.139.1",l="10.8.0",d="1.9.4",c=()=>"undefined"!=typeof window&&"undefined"!=typeof document,p=()=>c()&&"adoptedStyleSheets"in document&&"function"==typeof CSSStyleSheet.prototype.replaceSync;function u(t){"undefined"!=typeof requestAnimationFrame?requestAnimationFrame(t):setTimeout(t,0)}function m(t,e,s){if(void 0!==globalThis.ResizeObserver){const s=new globalThis.ResizeObserver((()=>e()));return s.observe(t),()=>s.disconnect()}const a=()=>u(e);let i;"undefined"!=typeof window&&window.addEventListener("resize",a),"undefined"!=typeof MutationObserver&&(i=new MutationObserver((()=>u(e))),s?i.observe(t,s):i.observe(t));const n="undefined"==typeof window?void 0:setInterval((()=>e()),250);return()=>{"undefined"!=typeof window&&window.removeEventListener("resize",a),i?.disconnect(),n&&clearInterval(n)}}const y={async init(){},async destroy(){},async setOpacity(){},async setVisible(){},async setZIndex(){},addLayerToGroup:async()=>null,async updateLayer(){},async removeLayer(){},async setView(){},addBaseLayer:async()=>null,async setBaseLayer(){},async ensureGroup(){},async setGroupVisible(){}},g="v-map - ",w=class{constructor(s){t(this,s),this.mapProviderReady=e(this,"mapProviderReady",5)}get el(){return s(this)}flavour="ol";center="0,0";zoom=2;useDefaultImportMap=!0;cssMode="cdn";mapProviderReady;mapProvider;mapState="unavailable";mapContainer;unsubscribeResize;unsubscribePointerMove=null;async onFlavourChanged(t,e){i(g+"onFlavourChanged"),t!==e&&this.reset()}async onZoomChanged(t,e){if(t===e)return;if("available"!==this.mapState||!this.mapProvider)return;const s=this.mapProvider.getView?.(),a=s?.center??this.parseCenter();i(g+"onZoomChanged "+e),await this.mapProvider.setView(a,e)}async onCenterChanged(t,e){if(t===e)return;if("available"!==this.mapState||!this.mapProvider)return;const s=this.mapProvider.getView?.(),a=s?.zoom??this.zoom,n=this.parseCenter(e);i(g+"onCenterChanged "+e),await this.mapProvider.setView(n,a)}parseCenter(t=this.center){const e=t.split(",").map(parseFloat);if(!Number.isFinite(e[0])||!Number.isFinite(e[1]))throw new Error(`<v-map>: Ungültiges center-Prop: "${t}" (erwartet "lon,lat")`);return e}reset(){this.unsubscribeResize?.(),this.unsubscribePointerMove?.(),this.unsubscribePointerMove=null;const t=this.mapProvider;this.mapProvider=null,this.el.__vMapProvider=null,this.el.dispatchEvent(new CustomEvent(o.MapProviderWillShutdown,{detail:{mapProvider:y},bubbles:!1,composed:!1,cancelable:!0})),t?.destroy(),this.mapState="unavailable"}async createMap(){if(this.mapContainer=this.ensureContainer(),"creating"===this.mapState)return void i("Map already in creating state.");this.mapState="creating",this.mapProvider=await async function(t){try{switch(t){case"ol":{const{OpenLayersProvider:t}=await import("./p-BFyBu5_1.js");return new t}case"cesium":{const{CesiumProvider:t}=await import("./p-Bmo2hj1_.js");return new t}case"deck":{const{DeckProvider:t}=await import("./p-Cp_e5ebg.js").then((function(t){return t.aX}));return new t}case"leaflet":{const{LeafletProvider:t}=await import("./p-COhBo2OS.js");return new t}default:return function(t,e){throw new Error(e??`Unbekannte Engine: ${String(t)}`)}(t,`Unbekannte Engine: ${t}`)}}catch(t){throw i(t),t}}(this.flavour);const t={zoom:this.zoom};if(this.center){const e=this.center.split(",").map(parseFloat),[s,a]=e;if(!Number.isFinite(s)||!Number.isFinite(a))throw new Error(`<v-map>: Ungültiges center-Prop: "${this.center}" (erwartet "lon,lat")`);t.center=e}const e={target:this.mapContainer,shadowRoot:this.el.shadowRoot,mapInitOptions:t,cssMode:this.cssMode};await this.mapProvider.init(e),this.mapState="available",this.el.__vMapProvider=this.mapProvider,this.unsubscribeResize=m(this.el,(async()=>{await(this.mapProvider?.setView(t.center,t.zoom))})),this.el.dispatchEvent(new CustomEvent(o.MapProviderReady,{detail:{mapProvider:this.mapProvider},bubbles:!1,composed:!1,cancelable:!0})),this.mapProvider?.onPointerMove&&(this.unsubscribePointerMove=this.mapProvider.onPointerMove(((t,e)=>{this.el.dispatchEvent(new CustomEvent(o.MapMouseMove,{detail:{coordinate:t,pixel:e},bubbles:!0,composed:!0}))})))}async componentWillLoad(){i(g+n.COMPONENT_WILL_LOAD),this.useDefaultImportMap&&(i(g+n.COMPONENT_WILL_LOAD+" - useDefaultImportMap"),function({allowOverride:t=!0}={}){if(!(t&&document.querySelector('script[type="importmap"]')||document.querySelector('script[type="importmap"][data-v-map]'))){const t=document.createElement("script");t.type="importmap",t.dataset.vMap="true",t.textContent='{\n "imports": {\n "ol/": "https://esm.sh/ol@10.8.0/",\n "ol": "https://esm.sh/ol@10.8.0",\n "leaflet": "https://esm.sh/leaflet@1.9.4",\n "deck": "https://esm.sh/deck@9.2.11",\n "@loaders.gl/core": "https://esm.sh/@loaders.gl/core@4.3.4",\n "@loaders.gl/3d-tiles": "https://esm.sh/@loaders.gl/3d-tiles@4.3.4",\n "@loaders.gl/gis": "https://esm.sh/@loaders.gl/gis@4.3.4",\n "@loaders.gl/gltf": "https://esm.sh/@loaders.gl/gltf@4.3.4",\n "@loaders.gl/images": "https://esm.sh/@loaders.gl/images@4.3.4",\n "@loaders.gl/loader-utils": "https://esm.sh/@loaders.gl/loader-utils@4.3.4",\n "@loaders.gl/mvt": "https://esm.sh/@loaders.gl/mvt@4.3.4",\n "@loaders.gl/schema": "https://esm.sh/@loaders.gl/schema@4.3.4",\n "@loaders.gl/terrain": "https://esm.sh/@loaders.gl/terrain@4.3.4",\n "@loaders.gl/textures": "https://esm.sh/@loaders.gl/textures@4.3.4",\n "@loaders.gl/tiles": "https://esm.sh/@loaders.gl/tiles@4.3.4",\n "@loaders.gl/wms": "https://esm.sh/@loaders.gl/wms@4.3.4"\n }\n}',document.head.appendChild(t)}}())}async componentWillRender(){i(g+n.COMPONENT_WILL_RENDER)}async componentDidRender(){i(g+n.COMPONENT_DID_RENDER),await this.createMap(),this.el.addEventListener(o.MapProviderReady,(t=>{i(g+"test - event: ",t)}))}disconnectedCallback(){i(g+n.COMPONENT_DISCONNECTED_CALLBACK),this.reset()}async isMapProviderReady(){const t=null!=this.mapProvider&&this.mapProvider!==y;return t||i(g+"Map provider not yet ready."),t}async setView(t,e){if(!this.mapProvider||this.mapProvider==y)throw new Error(g+"Map-Provider noch nicht initialisiert.");await Promise.resolve(this.mapProvider?.setView(t,e))}ensureContainer(){let t=this.el.shadowRoot.querySelector("#map");return t||(t=document.createElement("div"),t.id="map",t.style.cssText="position:relative;width:100%;height:100%;display:block;",this.el.shadowRoot.appendChild(t)),t}render(){return i(g+n.COMPONENT_RENDER),a("div",{key:"fdedf29697c3e46e3f3ee14dc8cd7beb937167ee"},a("slot",{key:"4e8370c56d14e11f9bf98fad44c78c689d570653"}))}static get watchers(){return{flavour:[{onFlavourChanged:0}],zoom:[{onZoomChanged:0}],center:[{onCenterChanged:0}]}}};w.style=":host{display:block;position:relative}";const f="v-map-layer-osm - ",v=class{constructor(s){t(this,s),this.ready=e(this,"ready",7)}get el(){return s(this)}loadState="idle";visible=!0;opacity=1;zIndex=10;url="https://tile.openstreetmap.org";ready;didLoad=!1;hasLoadedOnce=!1;helper;setLoadState(t){this.loadState=t}async getError(){return this.helper?.getError()}async onVisibleChanged(){i(f+"onVisibleChanged"),await(this.helper?.setVisible(this.visible))}async onOpacityChanged(){i(f+"onOpacityChanged"),await(this.helper?.setOpacity(this.opacity))}async onZIndexChanged(){i(f+"onZIndexChanged"),await(this.helper?.setZIndex(this.zIndex))}async onUrlChanged(t,e){i(f+"onUrlChanged"),t!==e&&await(this.helper?.updateLayer({type:"osm",data:{url:this.url}}))}isReady(){return this.didLoad}async getLayerId(){return this.helper?.getLayerId()}createLayerConfig(){return{type:"osm",url:this.url,visible:this.visible,zIndex:this.zIndex,opacity:this.opacity}}async connectedCallback(){i(f+n.COMPONENT_CONNECTED_CALLBACK),this.hasLoadedOnce&&(this.helper.startLoading(),await this.helper.initLayer((()=>this.createLayerConfig()),this.el.id))}async componentWillLoad(){i(f+n.COMPONENT_WILL_LOAD),this.helper=new r(this.el,this)}async componentDidLoad(){i(f+n.COMPONENT_DID_LOAD),this.helper.startLoading(),await this.helper.initLayer((()=>this.createLayerConfig()),this.el.id),this.hasLoadedOnce=!0,this.didLoad=!0,this.ready.emit()}async componentWillRender(){i(f+n.COMPONENT_WILL_RENDER)}async disconnectedCallback(){i(f+n.COMPONENT_DISCONNECTED_CALLBACK),await(this.helper?.dispose())}render(){}static get watchers(){return{visible:[{onVisibleChanged:0}],opacity:[{onOpacityChanged:0}],zIndex:[{onZIndexChanged:0}],url:[{onUrlChanged:0}]}}};v.style=":host{display:none;}";const b="v-map-layergroup - ",C=class{constructor(e){t(this,e)}get el(){return s(this)}visible=!0;opacity=1;basemapid=null;mapProvider=null;groupId=crypto.randomUUID();async onVisibleChanged(){i(b+"onVisibleChanged"),this.mapProvider?.setGroupVisible&&await this.mapProvider.setGroupVisible(this.groupId,this.visible)}async onBaseMapIdChanged(){i(b+"onBaseMapIdChanged"),this.mapProvider?.setBaseLayer&&await this.mapProvider.setBaseLayer(this.groupId,this.basemapid)}async init(t){null==this.mapProvider&&(this.mapProvider=t,null!==this.mapProvider&&(this.mapProvider?.ensureGroup&&await this.mapProvider.ensureGroup(this.groupId,this.visible,{basemapid:this.basemapid}),await(this.mapProvider?.setGroupVisible(this.groupId,this.visible)),await(this.mapProvider?.setBaseLayer(this.groupId,this.basemapid))))}async connectedCallback(){i(b+n.COMPONENT_CONNECTED_CALLBACK);const t=this.el.closest("v-map");await customElements.whenDefined("v-map");const e=t;if(!0===await(t?.isMapProviderReady?.())){const e=t?.__vMapProvider??null;await this.init(e)}e?.addEventListener(o.MapProviderReady,(async t=>{i(`${b}map provider ready`);const e=t.detail;await this.init(e.mapProvider)})),e?.addEventListener(o.MapProviderWillShutdown,(async()=>{i(`${b}map provider shutting down`),this.mapProvider=null}))}async componentWillLoad(){i(b+n.COMPONENT_WILL_LOAD)}async componentDidLoad(){i(b+n.COMPONENT_DID_LOAD)}async componentWillRender(){i(b+n.COMPONENT_WILL_RENDER)}async getGroupId(){return this.groupId}render(){return a("slot",{key:"cffd8e9ece1377275f6d23503004eeffafa4cfcd"})}static get watchers(){return{visible:[{onVisibleChanged:0}],basemapid:[{onBaseMapIdChanged:0}]}}};C.style=":host{display:none;}";export{h as C,d as L,l as O,w as V,v as a,C as b,c as i,p as s,m as w}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as t}from"./p-
|
|
1
|
+
import{d as t}from"./p-Cp_e5ebg.js";class e{static get componentName(){return Object.prototype.hasOwnProperty.call(this,"extensionName")?this.extensionName:""}constructor(t){t&&(this.opts=t)}equals(e){return this===e||this.constructor===e.constructor&&t(this.opts,e.opts,1)}getShaders(t){return null}getSubLayerProps(t){const{defaultProps:e}=t.constructor,s={updateTriggers:{}};for(const t in e)if(t in this.props){const i=e[t],r=this.props[t];s[t]=r,i&&"accessor"===i.type&&(s.updateTriggers[t]=this.props.updateTriggers[t],"function"==typeof r&&(s[t]=this.getSubLayerAccessor(r)))}return s}initializeState(t,e){}updateState(t,e){}onNeedsRedraw(t){}getNeedsPickingBuffer(t){return!1}draw(t,e){}finalizeState(t,e){}}e.defaultProps={},e.extensionName="LayerExtension";export{e as L}
|