@mapcomponents/react-maplibre 0.1.45 → 0.1.49
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/.github/workflows/node_version_test.yml +2 -1
- package/CHANGELOG.md +23 -0
- package/README.md +61 -150
- package/coverage/clover.xml +350 -269
- package/coverage/coverage-final.json +11 -9
- package/coverage/lcov-report/index.html +95 -80
- package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +61 -31
- package/coverage/lcov-report/src/components/MapLibreMap/index.html +17 -17
- package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +1 -1
- package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +1 -1
- package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.tsx.html +72 -66
- package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +18 -18
- package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html +1 -1
- package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.tsx.html +1 -1
- package/coverage/lcov-report/src/components/MlFollowGps/index.html +1 -1
- package/coverage/lcov-report/src/components/MlGPXViewer/MlGPXViewer.tsx.html +1 -1
- package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +1 -1
- package/coverage/lcov-report/src/components/MlGPXViewer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +1 -1
- package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +188 -53
- package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +21 -21
- package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +1 -1
- package/coverage/lcov-report/src/components/MlLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.tsx.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +2 -2
- package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +1 -1
- package/coverage/lcov-report/src/components/MlMarker/MlMarker.tsx.html +1 -1
- package/coverage/lcov-report/src/components/MlMarker/index.html +1 -1
- package/coverage/lcov-report/src/components/MlMeasureTool/MlMeasureTool.tsx.html +265 -0
- package/coverage/lcov-report/src/components/MlMeasureTool/index.html +116 -0
- package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html +1 -1
- package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +1 -1
- package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.tsx.html +1 -1
- package/coverage/lcov-report/src/components/MlNavigationTools/index.html +1 -1
- package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +1 -1
- package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.stories_.js.html +232 -0
- package/coverage/lcov-report/src/components/MlOsmLayer/index.html +25 -10
- package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +1 -1
- package/coverage/lcov-report/src/components/MlScaleReference/index.html +1 -1
- package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +1 -1
- package/coverage/lcov-report/src/components/MlShareMapState/index.html +1 -1
- package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +1 -1
- package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +1 -1
- package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +1 -1
- package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +1 -1
- package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +1 -1
- package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
- package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +74 -20
- package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +19 -19
- package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +80 -20
- package/coverage/lcov-report/src/components/MlWmsLayer/index.html +21 -21
- package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +2 -2
- package/coverage/lcov-report/src/components/MlWmsLoader/index.html +1 -1
- package/coverage/lcov-report/src/contexts/MapContext.tsx.html +23 -23
- package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +1 -1
- package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +1 -1
- package/coverage/lcov-report/src/contexts/index.html +1 -1
- package/coverage/lcov-report/src/hooks/index.html +19 -19
- package/coverage/lcov-report/src/hooks/useLayer.ts.html +95 -71
- package/coverage/lcov-report/src/hooks/useMap.ts.html +25 -25
- package/coverage/lcov-report/src/hooks/useMapState.ts.html +28 -28
- package/coverage/lcov-report/src/hooks/useWms.js.html +2 -2
- package/coverage/lcov-report/src/index.html +1 -1
- package/coverage/lcov-report/src/index.ts.html +12 -6
- package/coverage/lcov.info +688 -497
- package/dist/components/MapLibreMap/MapLibreMap.d.ts +31 -0
- package/dist/components/MapLibreMap/MapLibreMap.stories.d.ts +15 -0
- package/dist/components/MapLibreMap/MapLibreMap.test.d.ts +1 -0
- package/dist/components/MapLibreMap/lib/MapLibreGlWrapper.d.ts +75 -0
- package/dist/components/MapLibreMap/lib/MapLibreGlWrapper.test.d.ts +1 -0
- package/dist/components/MlBasicComponent.d.ts +5 -0
- package/dist/components/MlComponentTemplate/MlComponentTemplate.d.ts +22 -0
- package/dist/components/MlComponentTemplate/MlComponentTemplate.stories.d.ts +10 -0
- package/dist/components/MlCreatePdfButton/MlCreatePdfButton.d.ts +21 -0
- package/dist/components/MlCreatePdfButton/MlCreatePdfButton.stories.d.ts +10 -0
- package/dist/components/MlCreatePdfButton/lib/createPdf.d.ts +2 -0
- package/dist/components/MlCreatePdfButton/lib/nominatimMap.d.ts +2 -0
- package/dist/components/MlFeatureEditor/MlFeatureEditor.d.ts +35 -0
- package/dist/components/MlFeatureEditor/MlFeatureEditor.stories.d.ts +15 -0
- package/dist/components/MlFeatureEditor/MlFeatureEditor.test.d.ts +1 -0
- package/dist/components/MlFeatureEditor/custom-direct-select-mode.d.ts +37 -0
- package/dist/components/MlFeatureEditor/custom-polygon-mode.d.ts +16 -0
- package/dist/components/MlFeatureEditor/custom-select-mode.d.ts +37 -0
- package/dist/components/MlFeatureEditor/lib/common_selectors.d.ts +11 -0
- package/dist/components/MlFeatureEditor/lib/constants.d.ts +85 -0
- package/dist/components/MlFeatureEditor/lib/constrain_feature_movement.d.ts +2 -0
- package/dist/components/MlFeatureEditor/lib/create_midpoint.d.ts +15 -0
- package/dist/components/MlFeatureEditor/lib/create_supplementary_points.d.ts +2 -0
- package/dist/components/MlFeatureEditor/lib/create_vertex.d.ts +13 -0
- package/dist/components/MlFeatureEditor/lib/double_click_zoom.d.ts +7 -0
- package/dist/components/MlFeatureEditor/lib/euclidean_distance.d.ts +5 -0
- package/dist/components/MlFeatureEditor/lib/features_at.d.ts +7 -0
- package/dist/components/MlFeatureEditor/lib/get_features_and_set_cursor.d.ts +1 -0
- package/dist/components/MlFeatureEditor/lib/is_click.d.ts +1 -0
- package/dist/components/MlFeatureEditor/lib/is_event_at_coordinates.d.ts +6 -0
- package/dist/components/MlFeatureEditor/lib/is_tap.d.ts +3 -0
- package/dist/components/MlFeatureEditor/lib/map_event_to_bounding_box.d.ts +12 -0
- package/dist/components/MlFeatureEditor/lib/mode_handler.d.ts +24 -0
- package/dist/components/MlFeatureEditor/lib/mouse_event_point.d.ts +11 -0
- package/dist/components/MlFeatureEditor/lib/move_features.d.ts +2 -0
- package/dist/components/MlFeatureEditor/lib/sort_features.d.ts +2 -0
- package/dist/components/MlFeatureEditor/lib/string_set.d.ts +21 -0
- package/dist/components/MlFeatureEditor/lib/string_sets_are_equal.d.ts +5 -0
- package/dist/components/MlFeatureEditor/lib/theme.d.ts +88 -0
- package/dist/components/MlFeatureEditor/lib/to_dense_array.d.ts +12 -0
- package/dist/components/MlFeatureEditor/lib/utils.d.ts +10 -0
- package/dist/components/MlFillExtrusionLayer/MlFillExtrusionLayer.d.ts +61 -0
- package/dist/components/MlFillExtrusionLayer/MlFillExtrusionLayer.stories.d.ts +10 -0
- package/dist/components/MlFillExtrusionLayer/MlFillExtrusionLayer.test.d.ts +1 -0
- package/dist/components/MlFollowGps/MlFollowGps.d.ts +80 -0
- package/dist/components/MlFollowGps/MlFollowGps.stories.d.ts +10 -0
- package/dist/components/MlFollowGps/MlFollowGps.test.d.ts +1 -0
- package/dist/components/MlGPXViewer/MlGPXViewer.d.ts +29 -0
- package/dist/components/MlGPXViewer/MlGPXViewer.stories.d.ts +16 -0
- package/dist/components/MlGPXViewer/MlGPXViewer.test.d.ts +1 -0
- package/dist/components/MlGPXViewer/gpxConverter.d.ts +11 -0
- package/dist/components/MlGPXViewer/util/GeoJsonContext.d.ts +10 -0
- package/dist/components/MlGPXViewer/util/GeoJsonProvider.d.ts +4 -0
- package/dist/components/MlGeoJsonLayer/MlGeoJsonLayer.d.ts +69 -0
- package/dist/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.d.ts +12 -0
- package/dist/components/MlGeoJsonLayer/MlGeoJsonLayer.test.d.ts +1 -0
- package/dist/components/MlGeoJsonLayer/util/getDefaultLayerTypeByGeometry.d.ts +2 -0
- package/dist/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.d.ts +2 -0
- package/dist/components/MlImageMarkerLayer/MlImageMarkerLayer.d.ts +29 -0
- package/dist/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.d.ts +10 -0
- package/dist/components/MlImageMarkerLayer/MlImageMarkerLayer.test.d.ts +1 -0
- package/dist/components/MlLayer/MlLayer.d.ts +26 -0
- package/dist/components/MlLayer/MlLayer.stories.d.ts +10 -0
- package/dist/components/MlLayer/MlLayer.test.d.ts +1 -0
- package/dist/components/MlLayerMagnify/MlLayerMagnify.d.ts +27 -0
- package/dist/components/MlLayerMagnify/MlLayerMagnify.stories.d.ts +10 -0
- package/dist/components/MlLayerMagnify/MlLayerMagnify.test.d.ts +1 -0
- package/dist/components/MlLayerSwipe/MlLayerSwipe.d.ts +16 -0
- package/dist/components/MlLayerSwipe/MlLayerSwipe.stories.d.ts +11 -0
- package/dist/components/MlLayerSwipe/MlLayerSwipe.test.d.ts +1 -0
- package/dist/components/MlLayerSwitcher/MlLayerSwitcher.d.ts +30 -0
- package/dist/components/MlLayerSwitcher/MlLayerSwitcher.stories.d.ts +13 -0
- package/dist/components/MlLayerSwitcher/components/LayerBox.d.ts +6 -0
- package/dist/components/MlMarker/MlMarker.d.ts +33 -0
- package/dist/components/MlMarker/MlMarker.stories.d.ts +9 -0
- package/dist/components/MlMeasureTool/MlMeasureTool.d.ts +20 -0
- package/dist/components/MlMeasureTool/MlMeasureTool.stories.d.ts +11 -0
- package/dist/components/MlNavigationCompass/MlNavigationCompass.d.ts +47 -0
- package/dist/components/MlNavigationCompass/MlNavigationCompass.stories.d.ts +10 -0
- package/dist/components/MlNavigationCompass/MlNavigationCompass.test.d.ts +1 -0
- package/dist/components/MlNavigationTools/MlNavigationTools.d.ts +9 -0
- package/dist/components/MlNavigationTools/MlNavigationTools.stories.d.ts +13 -0
- package/dist/components/MlOsmLayer/MlOsmLayer.d.ts +18 -0
- package/dist/components/MlOsmLayer/MlOsmLayer.stories_.d.ts +16 -0
- package/dist/components/MlOsmLayer/MlOsmLayer.test.d.ts +1 -0
- package/dist/components/MlScaleReference/MlScaleReference.d.ts +2 -0
- package/dist/components/MlScaleReference/MlScaleReference.stories.d.ts +14 -0
- package/dist/components/MlShareMapState/MlShareMapState.d.ts +22 -0
- package/dist/components/MlShareMapState/MlShareMapState.stories.d.ts +10 -0
- package/dist/components/MlSpatialElevationProfile/MlSpatialElevationProfile.d.ts +20 -0
- package/dist/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.d.ts +16 -0
- package/dist/components/MlSpatialElevationProfile/MlSpatialElevationProfile.test.d.ts +1 -0
- package/dist/components/MlThreeJsLayer/MlThreeJsLayer.d.ts +15 -0
- package/dist/components/MlThreeJsLayer/MlThreeJsLayer.stories.d.ts +16 -0
- package/dist/components/MlThreeJsLayer/MlThreeJsLayer.test.d.ts +1 -0
- package/dist/components/MlThreeJsLayer/lib/GLTFLoader.d.ts +17 -0
- package/dist/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.d.ts +68 -0
- package/dist/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.stories.d.ts +13 -0
- package/dist/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.test.d.ts +1 -0
- package/dist/components/MlTransitionGeoJsonLayer/util/transitionFunctions.d.ts +2 -0
- package/dist/components/MlUseMapDebugger/MlUseMapDebugger.d.ts +22 -0
- package/dist/components/MlUseMapDebugger/MlUseMapDebugger.stories.d.ts +13 -0
- package/dist/components/MlVectorTileLayer/MlVectorTileLayer.d.ts +37 -0
- package/dist/components/MlVectorTileLayer/MlVectorTileLayer.stories.d.ts +13 -0
- package/dist/components/MlVectorTileLayer/MlVectorTileLayer.test.d.ts +1 -0
- package/dist/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.d.ts +22 -0
- package/dist/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.stories.d.ts +13 -0
- package/dist/components/MlWmsLayer/MlWmsLayer.d.ts +100 -0
- package/dist/components/MlWmsLayer/MlWmsLayer.stories.d.ts +13 -0
- package/dist/components/MlWmsLayer/MlWmsLayer.test.d.ts +1 -0
- package/dist/components/MlWmsLoader/MlWmsLoader.d.ts +48 -0
- package/dist/components/MlWmsLoader/MlWmsLoader.stories.d.ts +13 -0
- package/dist/contexts/MapComponentsProvider.test.d.ts +1 -0
- package/dist/contexts/MapContext.d.ts +13 -0
- package/dist/contexts/SimpleDataContext.d.ts +4 -0
- package/dist/contexts/SimpleDataProvider.d.ts +8 -0
- package/dist/contexts/SimpleDataProvider.test.d.ts +1 -0
- package/dist/custom.d.d.ts +22 -0
- package/dist/decorators/MapContextDecorator.d.ts +2 -0
- package/dist/decorators/MultiMapContextDecorator.d.ts +2 -0
- package/dist/hooks/useLayer.d.ts +24 -0
- package/dist/hooks/useLayer.test.d.ts +1 -0
- package/dist/hooks/useMap.d.ts +14 -0
- package/dist/hooks/useMapState.d.ts +62 -0
- package/dist/hooks/useMapState.stories.d.ts +14 -0
- package/dist/hooks/useWms.d.ts +18 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.esm.js +193 -60
- package/dist/index.esm.js.map +1 -1
- package/dist/setupTests.d.ts +12 -0
- package/dist/stories/components/Readme.d.ts +2 -0
- package/dist/ui_components/ImageLoader.d.ts +2 -0
- package/dist/ui_components/Legend.d.ts +1 -0
- package/dist/ui_components/LoadingOverlay.d.ts +2 -0
- package/dist/ui_components/LoadingOverlayContext.d.ts +11 -0
- package/dist/ui_components/Sidebar.d.ts +1 -0
- package/dist/ui_components/Tooltip.d.ts +1 -0
- package/dist/ui_components/TopToolbar.d.ts +1 -0
- package/dist/util/index.d.ts +3 -0
- package/dist/util/layerRemovalTest.d.ts +2 -0
- package/dist/util/sourceRemovalTest.d.ts +2 -0
- package/package.json +2 -1
- package/public/catalogue/mc_meta.json +1 -0
- package/public/thumbnails/MlMeasureTool.png +0 -0
- package/src/components/MapLibreMap/MapLibreMap.stories.js +75 -20
- package/src/components/MapLibreMap/MapLibreMap.tsx +12 -2
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +2 -2
- package/src/components/MlFeatureEditor/MlFeatureEditor.stories.js +1 -2
- package/src/components/MlFeatureEditor/MlFeatureEditor.test.js +3 -3
- package/src/components/MlFeatureEditor/MlFeatureEditor.tsx +40 -38
- package/src/components/MlFeatureEditor/lib/utils.js +1 -2
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.test.js +1 -1
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx +82 -37
- package/src/components/MlLayerSwitcher/MlLayerSwitcher.js +1 -1
- package/src/components/MlMeasureTool/MlMeasureTool.doc.de.md +3 -0
- package/src/components/MlMeasureTool/MlMeasureTool.meta.json +15 -0
- package/src/components/MlMeasureTool/MlMeasureTool.stories.js +96 -0
- package/src/components/MlMeasureTool/MlMeasureTool.tsx +60 -0
- package/src/components/MlOsmLayer/{MlOsmLayer.stories.js → MlOsmLayer.stories_.js} +0 -0
- package/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx +26 -8
- package/src/components/MlWmsLayer/MlWmsLayer.stories.js +2 -3
- package/src/components/MlWmsLayer/MlWmsLayer.tsx +27 -7
- package/src/components/MlWmsLoader/MlWmsLoader.stories.js +1 -1
- package/src/components/MlWmsLoader/MlWmsLoader.tsx +1 -1
- package/src/hooks/useLayer.test.js +205 -0
- package/src/hooks/useLayer.ts +15 -7
- package/src/hooks/useWms.js +1 -1
- package/src/index.ts +5 -4
- package/src/util/layerRemovalTest.js +5 -0
- package/tsconfig.json +35 -7
- package/docs-build/0.20735a16c2ad9677fe7d.manager.bundle.js +0 -1
- package/docs-build/0.b1b9b035.iframe.bundle.js +0 -2
- package/docs-build/0.b1b9b035.iframe.bundle.js.map +0 -1
- package/docs-build/1.c50fb367.iframe.bundle.js +0 -10
- package/docs-build/1.c50fb367.iframe.bundle.js.map +0 -1
- package/docs-build/17.2e544968.iframe.bundle.js +0 -2
- package/docs-build/17.2e544968.iframe.bundle.js.map +0 -1
- package/docs-build/18.42087006.iframe.bundle.js +0 -17
- package/docs-build/18.42087006.iframe.bundle.js.map +0 -1
- package/docs-build/19.7e782442.iframe.bundle.js +0 -14
- package/docs-build/19.7e782442.iframe.bundle.js.map +0 -1
- package/docs-build/2.e58dc625.iframe.bundle.js +0 -2
- package/docs-build/2.e58dc625.iframe.bundle.js.map +0 -1
- package/docs-build/20.f009289a.iframe.bundle.js +0 -2
- package/docs-build/20.f009289a.iframe.bundle.js.map +0 -1
- package/docs-build/21.1cdc9040.iframe.bundle.js +0 -4
- package/docs-build/21.1cdc9040.iframe.bundle.js.map +0 -1
- package/docs-build/22.c9e6b2d7.iframe.bundle.js +0 -22
- package/docs-build/22.c9e6b2d7.iframe.bundle.js.map +0 -1
- package/docs-build/3.a8172b89.iframe.bundle.js +0 -2
- package/docs-build/3.a8172b89.iframe.bundle.js.map +0 -1
- package/docs-build/4.8ac31bba1926f4f011b0.manager.bundle.js +0 -2
- package/docs-build/4.8ac31bba1926f4f011b0.manager.bundle.js.LICENSE.txt +0 -8
- package/docs-build/5.daf044a6c0f55d839078.manager.bundle.js +0 -1
- package/docs-build/6.99fba2cf6af0473f8209.manager.bundle.js +0 -2
- package/docs-build/6.99fba2cf6af0473f8209.manager.bundle.js.LICENSE.txt +0 -12
- package/docs-build/7.b6a48b90f61cb575c2e4.manager.bundle.js +0 -1
- package/docs-build/8.50518a5391398d9d5812.manager.bundle.js +0 -1
- package/docs-build/assets/3D/godzilla_simple.glb +0 -0
- package/docs-build/assets/dop.png +0 -0
- package/docs-build/assets/historic.png +0 -0
- package/docs-build/assets/marker.png +0 -0
- package/docs-build/assets/osm.png +0 -0
- package/docs-build/assets/sample.gpx +0 -716
- package/docs-build/catalogue/.gitkeep +0 -0
- package/docs-build/catalogue/mc_meta.json +0 -1
- package/docs-build/favicon.ico +0 -0
- package/docs-build/iframe.html +0 -348
- package/docs-build/index.html +0 -59
- package/docs-build/logo.png +0 -0
- package/docs-build/main.ef9704b1252e8efa56a0.manager.bundle.js +0 -1
- package/docs-build/main~24120820.edd86ba9.iframe.bundle.js +0 -2
- package/docs-build/main~24120820.edd86ba9.iframe.bundle.js.map +0 -1
- package/docs-build/manifest.json +0 -25
- package/docs-build/robots.txt +0 -3
- package/docs-build/runtime~main.6e6ed7dc9ea4785ef286.manager.bundle.js +0 -1
- package/docs-build/static/media/mapcomponents_logo.98b01a05.png +0 -0
- package/docs-build/static/media/wg-marker.bf3eeb2d.png +0 -0
- package/docs-build/thumbnails/MapLibreMap.png +0 -0
- package/docs-build/thumbnails/MlCameraFollowPath.png +0 -0
- package/docs-build/thumbnails/MlCreatePdfButton.png +0 -0
- package/docs-build/thumbnails/MlDeckGlLayer.png +0 -0
- package/docs-build/thumbnails/MlDeckGlTerrainLayer.png +0 -0
- package/docs-build/thumbnails/MlDemoDashboard.png +0 -0
- package/docs-build/thumbnails/MlFeatureEditor.png +0 -0
- package/docs-build/thumbnails/MlFillExtrusionLayer.png +0 -0
- package/docs-build/thumbnails/MlFollowGps.png +0 -0
- package/docs-build/thumbnails/MlGPXViewer.png +0 -0
- package/docs-build/thumbnails/MlGeoJsonLayer.png +0 -0
- package/docs-build/thumbnails/MlHillshadeLayer.png +0 -0
- package/docs-build/thumbnails/MlIconLayer.png +0 -0
- package/docs-build/thumbnails/MlLaermkarte.png +0 -0
- package/docs-build/thumbnails/MlLayerMagnify.png +0 -0
- package/docs-build/thumbnails/MlLayerSwipe.png +0 -0
- package/docs-build/thumbnails/MlMapDrawTools.png +0 -0
- package/docs-build/thumbnails/MlMobilerImker.png +0 -0
- package/docs-build/thumbnails/MlNavigationCompass.png +0 -0
- package/docs-build/thumbnails/MlNavigationTools.png +0 -0
- package/docs-build/thumbnails/MlOsmLayer.png +0 -0
- package/docs-build/thumbnails/MlScaleReference.png +0 -0
- package/docs-build/thumbnails/MlSpatialElevationProfile.png +0 -0
- package/docs-build/thumbnails/MlThreeJsLayer.png +0 -0
- package/docs-build/thumbnails/MlTransitionGeoJsonLayer.png +0 -0
- package/docs-build/thumbnails/MlVectorTileLayer.png +0 -0
- package/docs-build/thumbnails/MlWanderApp.png +0 -0
- package/docs-build/thumbnails/MlWmsLayer.png +0 -0
- package/docs-build/thumbnails/MlWmsLoader.png +0 -0
- package/docs-build/vendors~main.4b570b3072ba06ee44b5.manager.bundle.js +0 -2
- package/docs-build/vendors~main.4b570b3072ba06ee44b5.manager.bundle.js.LICENSE.txt +0 -104
- package/docs-build/vendors~main~0ad7406a.2054ae7c.iframe.bundle.js +0 -8
- package/docs-build/vendors~main~0ad7406a.2054ae7c.iframe.bundle.js.map +0 -1
- package/docs-build/vendors~main~0f485567.de36692f.iframe.bundle.js +0 -2
- package/docs-build/vendors~main~0f485567.de36692f.iframe.bundle.js.map +0 -1
- package/docs-build/vendors~main~41a6ab2c.a947ed53.iframe.bundle.js +0 -2
- package/docs-build/vendors~main~41a6ab2c.a947ed53.iframe.bundle.js.map +0 -1
- package/docs-build/vendors~main~52589227.1d1558cd.iframe.bundle.js +0 -8
- package/docs-build/vendors~main~52589227.1d1558cd.iframe.bundle.js.map +0 -1
- package/docs-build/vendors~main~57c1f6cb.6a433835.iframe.bundle.js +0 -2
- package/docs-build/vendors~main~57c1f6cb.6a433835.iframe.bundle.js.map +0 -1
- package/docs-build/vendors~main~73914085.a8e03e3b.iframe.bundle.js +0 -293
- package/docs-build/vendors~main~73914085.a8e03e3b.iframe.bundle.js.map +0 -1
- package/docs-build/vendors~main~9c5b28f6.7b8beed1.iframe.bundle.js +0 -7
- package/docs-build/vendors~main~9c5b28f6.7b8beed1.iframe.bundle.js.map +0 -1
- package/docs-build/vendors~main~b5906859.7f66dcaf.iframe.bundle.js +0 -21
- package/docs-build/vendors~main~b5906859.7f66dcaf.iframe.bundle.js.map +0 -1
- package/docs-build/vendors~main~b8f44717.7053e467.iframe.bundle.js +0 -89
- package/docs-build/vendors~main~b8f44717.7053e467.iframe.bundle.js.map +0 -1
- package/docs-build/vendors~main~b9cf3951.a4fd68f5.iframe.bundle.js +0 -63
- package/docs-build/vendors~main~b9cf3951.a4fd68f5.iframe.bundle.js.map +0 -1
- package/docs-build/vendors~main~d939e436.ba1cad1b.iframe.bundle.js +0 -2
- package/docs-build/vendors~main~d939e436.ba1cad1b.iframe.bundle.js.map +0 -1
- package/docs-build/vendors~main~f420d588.59c93444.iframe.bundle.js +0 -107
- package/docs-build/vendors~main~f420d588.59c93444.iframe.bundle.js.map +0 -1
package/dist/index.esm.js
CHANGED
|
@@ -331,7 +331,7 @@ var MapLibreGlWrapper = /** @class */ (function () {
|
|
|
331
331
|
*/
|
|
332
332
|
buildLayerObjects: function () {
|
|
333
333
|
// @ts-ignore
|
|
334
|
-
return self.style._order
|
|
334
|
+
return self.map.style._order
|
|
335
335
|
.map(function (layerId) {
|
|
336
336
|
return self.wrapper.buildLayerObject(self.map.style._layers[layerId]);
|
|
337
337
|
})
|
|
@@ -568,7 +568,7 @@ var MapLibreGlWrapper = /** @class */ (function () {
|
|
|
568
568
|
props[_i] = arguments[_i];
|
|
569
569
|
}
|
|
570
570
|
if (self.map &&
|
|
571
|
-
|
|
571
|
+
self.map.style &&
|
|
572
572
|
typeof self.map.style[item] === "function") {
|
|
573
573
|
(_a = self.map.style)[item].apply(_a, props);
|
|
574
574
|
}
|
|
@@ -744,7 +744,7 @@ var defaultProps$2 = {
|
|
|
744
744
|
id: "background",
|
|
745
745
|
type: "background",
|
|
746
746
|
paint: {
|
|
747
|
-
"background-color": "rgba(
|
|
747
|
+
"background-color": "rgba(0,0,0,0)",
|
|
748
748
|
},
|
|
749
749
|
},
|
|
750
750
|
],
|
|
@@ -762,11 +762,13 @@ var defaultProps$2 = {
|
|
|
762
762
|
* @category Map components
|
|
763
763
|
*/
|
|
764
764
|
var MapLibreMap = function (props) {
|
|
765
|
+
var _a;
|
|
765
766
|
var map = useRef(null);
|
|
766
767
|
var mapContainer = useRef();
|
|
767
768
|
var mapContext = useContext(MapContext);
|
|
768
769
|
var mapIdRef = useRef(props.mapId);
|
|
769
770
|
var initializedRef = useRef(false);
|
|
771
|
+
var currentStyle = useRef((_a = props.options) === null || _a === void 0 ? void 0 : _a.style);
|
|
770
772
|
useEffect(function () {
|
|
771
773
|
var mapId = mapIdRef.current;
|
|
772
774
|
return function () {
|
|
@@ -796,6 +798,15 @@ var MapLibreMap = function (props) {
|
|
|
796
798
|
});
|
|
797
799
|
}
|
|
798
800
|
}, [props.options, props.mapId]);
|
|
801
|
+
useEffect(function () {
|
|
802
|
+
var _a, _b;
|
|
803
|
+
if (((_a = map.current) === null || _a === void 0 ? void 0 : _a.map) && ((_b = props === null || props === void 0 ? void 0 : props.options) === null || _b === void 0 ? void 0 : _b.style) && currentStyle.current !== props.options.style) {
|
|
804
|
+
console.log("set style");
|
|
805
|
+
currentStyle.current = props.options.style;
|
|
806
|
+
map.current.map.setStyle(props.options.style);
|
|
807
|
+
}
|
|
808
|
+
// @ts-ignore: props.options is either passed or populated with default values
|
|
809
|
+
}, [props.options.style]);
|
|
799
810
|
return React__default.createElement("div", { ref: mapContainer, className: "mapContainer", style: props.style });
|
|
800
811
|
};
|
|
801
812
|
MapLibreMap.defaultProps = defaultProps$2;
|
|
@@ -11848,7 +11859,9 @@ var drawUtils = {
|
|
|
11848
11859
|
},
|
|
11849
11860
|
getDrawInstance: function getDrawInstance(map) {
|
|
11850
11861
|
for (var i = map._controls.length - 1; i >= 0; i--) {
|
|
11851
|
-
|
|
11862
|
+
var _map$_controls$i, _map$_controls$i$mode;
|
|
11863
|
+
|
|
11864
|
+
if (((_map$_controls$i = map._controls[i]) === null || _map$_controls$i === void 0 ? void 0 : (_map$_controls$i$mode = _map$_controls$i.modes) === null || _map$_controls$i$mode === void 0 ? void 0 : _map$_controls$i$mode.SIMPLE_SELECT) === "simple_select") {
|
|
11852
11865
|
return map._controls[i];
|
|
11853
11866
|
}
|
|
11854
11867
|
}
|
|
@@ -12132,21 +12145,15 @@ var MlFeatureEditor = function (props) {
|
|
|
12132
12145
|
mapId: props.mapId,
|
|
12133
12146
|
waitForLayer: props.insertBeforeLayer,
|
|
12134
12147
|
});
|
|
12135
|
-
var onChangeRef = useRef(props.onChange);
|
|
12136
12148
|
var drawToolsInitialized = useRef(false);
|
|
12137
12149
|
var _a = useState(false), drawToolsReady = _a[0], setDrawToolsReady = _a[1];
|
|
12138
|
-
var _b = useState(0), mouseUpTrigger = _b[0], setMouseUpTrigger = _b[1];
|
|
12139
12150
|
var modeChangeHandler = function (e) {
|
|
12140
12151
|
console.log("MlFeatureEditor mode change to " + e.mode);
|
|
12141
12152
|
//setDrawMode(e.mode);
|
|
12142
12153
|
};
|
|
12143
|
-
var mouseUpHandler = function () {
|
|
12144
|
-
setMouseUpTrigger(Math.random());
|
|
12145
|
-
};
|
|
12146
12154
|
useEffect(function () {
|
|
12147
12155
|
var _a;
|
|
12148
|
-
if (mapHook.map &&
|
|
12149
|
-
!drawToolsInitialized.current) {
|
|
12156
|
+
if (mapHook.map && !drawToolsInitialized.current) {
|
|
12150
12157
|
drawToolsInitialized.current = true;
|
|
12151
12158
|
if (mapHook.map.map.style &&
|
|
12152
12159
|
mapHook.map.map.getSource("mapbox-gl-draw-cold") &&
|
|
@@ -12165,35 +12172,46 @@ var MlFeatureEditor = function (props) {
|
|
|
12165
12172
|
custom_direct_select: DirectSelect,
|
|
12166
12173
|
}, MapboxDraw.modes),
|
|
12167
12174
|
});
|
|
12168
|
-
mapHook.map.on("draw.modechange", modeChangeHandler, mapHook.componentId);
|
|
12169
12175
|
mapHook.map.addControl(draw.current, "top-left", mapHook.componentId);
|
|
12170
|
-
mapHook.map.on("
|
|
12176
|
+
mapHook.map.on("draw.modechange", modeChangeHandler, mapHook.componentId);
|
|
12171
12177
|
setDrawToolsReady(true);
|
|
12172
12178
|
}
|
|
12173
12179
|
}, [mapHook.map, props, drawToolsInitialized]);
|
|
12180
|
+
useEffect(function () {
|
|
12181
|
+
if (!mapHook.map || !drawToolsReady)
|
|
12182
|
+
return;
|
|
12183
|
+
var changeHandler = function () {
|
|
12184
|
+
var _a, _b;
|
|
12185
|
+
if (draw.current) {
|
|
12186
|
+
// update drawnFeatures state object
|
|
12187
|
+
if (typeof props.onChange === "function") {
|
|
12188
|
+
var currentFeatureCollection = (_b = (_a = draw.current).getAll) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
12189
|
+
props.onChange(currentFeatureCollection === null || currentFeatureCollection === void 0 ? void 0 : currentFeatureCollection.features);
|
|
12190
|
+
}
|
|
12191
|
+
}
|
|
12192
|
+
};
|
|
12193
|
+
mapHook.map.on("mouseup", changeHandler);
|
|
12194
|
+
mapHook.map.on("touchend", changeHandler);
|
|
12195
|
+
return function () {
|
|
12196
|
+
if (!mapHook.map)
|
|
12197
|
+
return;
|
|
12198
|
+
mapHook.map.map.off("mouseup", changeHandler);
|
|
12199
|
+
mapHook.map.map.off("touchend", changeHandler);
|
|
12200
|
+
};
|
|
12201
|
+
}, [drawToolsReady, mapHook.map]);
|
|
12174
12202
|
useEffect(function () {
|
|
12175
12203
|
var _a;
|
|
12176
|
-
if (draw.current &&
|
|
12177
|
-
((_a = props.geojson) === null || _a === void 0 ? void 0 : _a.geometry)) {
|
|
12204
|
+
if (draw.current && ((_a = props.geojson) === null || _a === void 0 ? void 0 : _a.geometry)) {
|
|
12178
12205
|
draw.current.set({ type: "FeatureCollection", features: [props.geojson] });
|
|
12179
12206
|
}
|
|
12180
12207
|
}, [props.geojson, drawToolsReady]);
|
|
12181
|
-
useEffect(function () {
|
|
12182
|
-
if (draw.current && mouseUpTrigger) {
|
|
12183
|
-
// update drawnFeatures state object
|
|
12184
|
-
var currentFeatureCollection = draw.current.getAll();
|
|
12185
|
-
if (typeof onChangeRef.current === "function") {
|
|
12186
|
-
onChangeRef.current(currentFeatureCollection.features);
|
|
12187
|
-
}
|
|
12188
|
-
}
|
|
12189
|
-
}, [mouseUpTrigger]);
|
|
12190
12208
|
useEffect(function () {
|
|
12191
12209
|
if (props.mode && draw.current) {
|
|
12192
12210
|
// @ts-ignore
|
|
12193
12211
|
draw.current.changeMode(props.mode);
|
|
12194
12212
|
}
|
|
12195
12213
|
}, [props.mode]);
|
|
12196
|
-
return
|
|
12214
|
+
return React__default.createElement(React__default.Fragment, null);
|
|
12197
12215
|
};
|
|
12198
12216
|
|
|
12199
12217
|
var legalLayerTypes = [
|
|
@@ -12223,7 +12241,7 @@ function useLayer(props) {
|
|
|
12223
12241
|
if (!mapHook.map)
|
|
12224
12242
|
return;
|
|
12225
12243
|
if (mapHook.map.map.getLayer(layerId.current)) {
|
|
12226
|
-
mapHook.
|
|
12244
|
+
mapHook.cleanup();
|
|
12227
12245
|
}
|
|
12228
12246
|
if (mapHook.map.map.getSource(layerId.current)) {
|
|
12229
12247
|
mapHook.map.map.removeSource(layerId.current);
|
|
@@ -12251,6 +12269,14 @@ function useLayer(props) {
|
|
|
12251
12269
|
if (typeof props.onLeave !== "undefined") {
|
|
12252
12270
|
mapHook.map.on("mouseleave", layerId.current, props.onLeave, mapHook.componentId);
|
|
12253
12271
|
}
|
|
12272
|
+
// recreate layer if style has changed
|
|
12273
|
+
mapHook.map.on("styledata", function () {
|
|
12274
|
+
var _a;
|
|
12275
|
+
if (initializedRef.current && !((_a = mapHook.map) === null || _a === void 0 ? void 0 : _a.map.getLayer(layerId.current))) {
|
|
12276
|
+
console.log("Recreate Layer");
|
|
12277
|
+
createLayer();
|
|
12278
|
+
}
|
|
12279
|
+
}, mapHook.componentId);
|
|
12254
12280
|
layerPaintConfRef.current = JSON.stringify((_a = props.options) === null || _a === void 0 ? void 0 : _a.paint);
|
|
12255
12281
|
layerLayoutConfRef.current = JSON.stringify((_b = props.options) === null || _b === void 0 ? void 0 : _b.layout);
|
|
12256
12282
|
layerTypeRef.current = props.options.type;
|
|
@@ -12302,13 +12328,10 @@ function useLayer(props) {
|
|
|
12302
12328
|
layerPaintConfRef.current = paintString;
|
|
12303
12329
|
}
|
|
12304
12330
|
}, [props.options, mapHook.map]);
|
|
12305
|
-
var cleanup = function () {
|
|
12306
|
-
initializedRef.current = false;
|
|
12307
|
-
mapHook.cleanup();
|
|
12308
|
-
};
|
|
12309
12331
|
useEffect(function () {
|
|
12310
12332
|
return function () {
|
|
12311
|
-
|
|
12333
|
+
initializedRef.current = false;
|
|
12334
|
+
mapHook.cleanup();
|
|
12312
12335
|
};
|
|
12313
12336
|
}, []);
|
|
12314
12337
|
return {
|
|
@@ -12569,16 +12592,16 @@ var MlImageMarkerLayer = function (props) {
|
|
|
12569
12592
|
mapId: props.mapId,
|
|
12570
12593
|
waitForLayer: props.insertBeforeLayer,
|
|
12571
12594
|
});
|
|
12572
|
-
var
|
|
12595
|
+
var initializedRef = useRef(false);
|
|
12596
|
+
var recreationInProgress = useRef(false);
|
|
12573
12597
|
var imageIdRef = useRef(props.imageId || "img_" + new Date().getTime());
|
|
12574
12598
|
var layerId = useRef(props.layerId || "MlImageMarkerLayer-" + mapHook.componentId);
|
|
12599
|
+
// effect to sync Layer paint & layout properties
|
|
12575
12600
|
useEffect(function () {
|
|
12576
12601
|
if (!mapHook.map ||
|
|
12577
12602
|
(mapHook.map && !mapHook.map.map.getLayer(layerId.current)) ||
|
|
12578
12603
|
!props.options)
|
|
12579
12604
|
return;
|
|
12580
|
-
// the MapLibre-gl instance (mapContext.map) is accessible here
|
|
12581
|
-
// initialize the layer and add it to the MapLibre-gl instance or do something else with it
|
|
12582
12605
|
var key;
|
|
12583
12606
|
if (props.options.layout) {
|
|
12584
12607
|
for (key in props.options.layout) {
|
|
@@ -12591,41 +12614,120 @@ var MlImageMarkerLayer = function (props) {
|
|
|
12591
12614
|
}
|
|
12592
12615
|
}
|
|
12593
12616
|
}, [props.options, layerId.current, props.mapId]);
|
|
12594
|
-
var
|
|
12595
|
-
if (!mapHook.map)
|
|
12596
|
-
|
|
12597
|
-
var tmpOptions = __assign({ id: layerId.current, layout: {} }, props.options);
|
|
12598
|
-
tmpOptions.layout["icon-image"] = imageIdRef.current;
|
|
12599
|
-
mapHook.map.addLayer(tmpOptions, props.insertBeforeLayer, mapHook.componentId);
|
|
12600
|
-
}, [props, mapHook.map]);
|
|
12601
|
-
useEffect(function () {
|
|
12602
|
-
if (!props.options || !mapHook.map || layerInitializedRef.current)
|
|
12617
|
+
var createImage = function (mapHook, props, callback) {
|
|
12618
|
+
if (!mapHook.map) {
|
|
12619
|
+
initializedRef.current = false;
|
|
12603
12620
|
return;
|
|
12604
|
-
|
|
12605
|
-
if (props.imgSrc) {
|
|
12621
|
+
}
|
|
12622
|
+
if (props.imgSrc && !mapHook.map.map.hasImage(imageIdRef.current)) {
|
|
12606
12623
|
mapHook.map.map.loadImage(props.imgSrc, function (error, image) {
|
|
12607
12624
|
if (error)
|
|
12608
12625
|
throw error;
|
|
12609
|
-
if (!mapHook.map)
|
|
12626
|
+
if (!mapHook.map || mapHook.map.map.hasImage(imageIdRef.current))
|
|
12610
12627
|
return;
|
|
12611
12628
|
mapHook.map.addImage(imageIdRef.current, image, mapHook.componentId);
|
|
12629
|
+
if (typeof callback === "function") {
|
|
12630
|
+
callback();
|
|
12631
|
+
}
|
|
12612
12632
|
});
|
|
12613
12633
|
}
|
|
12614
|
-
|
|
12615
|
-
|
|
12634
|
+
else {
|
|
12635
|
+
if (typeof callback === "function") {
|
|
12636
|
+
callback();
|
|
12637
|
+
}
|
|
12638
|
+
}
|
|
12639
|
+
};
|
|
12640
|
+
var createLayer = function (mapHook, props, createMapLibreElements) {
|
|
12641
|
+
var _a;
|
|
12642
|
+
if (!props.options || !mapHook.map || ((_a = mapHook.map) === null || _a === void 0 ? void 0 : _a.map.getLayer(layerId.current)))
|
|
12643
|
+
return;
|
|
12644
|
+
var tmpOptions = __assign({ id: layerId.current, layout: {} }, props.options);
|
|
12645
|
+
tmpOptions.layout["icon-image"] = imageIdRef.current;
|
|
12646
|
+
mapHook.map.addLayer(tmpOptions, props.insertBeforeLayer, mapHook.componentId);
|
|
12647
|
+
// recreate layer if map style.json has changed
|
|
12648
|
+
mapHook.map.on("styledata", function () {
|
|
12649
|
+
var _a;
|
|
12650
|
+
if (initializedRef.current &&
|
|
12651
|
+
!((_a = mapHook.map) === null || _a === void 0 ? void 0 : _a.map.getLayer(layerId.current)) &&
|
|
12652
|
+
!recreationInProgress.current) {
|
|
12653
|
+
initializedRef.current = false;
|
|
12654
|
+
recreationInProgress.current = true;
|
|
12655
|
+
console.log("Recreate Layer " + layerId.current);
|
|
12656
|
+
createMapLibreElements();
|
|
12657
|
+
}
|
|
12658
|
+
}, mapHook.componentId);
|
|
12659
|
+
if (recreationInProgress.current) {
|
|
12660
|
+
recreationInProgress.current = false;
|
|
12661
|
+
}
|
|
12662
|
+
};
|
|
12663
|
+
var createMapLibreElements = useCallback(function () {
|
|
12664
|
+
var _a;
|
|
12665
|
+
if (!mapHook.map || initializedRef.current || ((_a = mapHook.map) === null || _a === void 0 ? void 0 : _a.map.getLayer(layerId.current)))
|
|
12666
|
+
return;
|
|
12667
|
+
initializedRef.current = true;
|
|
12668
|
+
if (recreationInProgress.current) {
|
|
12669
|
+
mapHook.cleanup();
|
|
12670
|
+
}
|
|
12671
|
+
if (props.imgSrc) {
|
|
12672
|
+
createImage(mapHook, props, function () {
|
|
12673
|
+
createLayer(mapHook, props, createMapLibreElements);
|
|
12674
|
+
});
|
|
12675
|
+
}
|
|
12676
|
+
else {
|
|
12677
|
+
createLayer(mapHook, props, createMapLibreElements);
|
|
12678
|
+
}
|
|
12679
|
+
}, [props, mapHook]);
|
|
12680
|
+
useEffect(function () {
|
|
12681
|
+
if (initializedRef.current)
|
|
12682
|
+
return;
|
|
12683
|
+
createMapLibreElements();
|
|
12684
|
+
}, [createMapLibreElements]);
|
|
12616
12685
|
useEffect(function () {
|
|
12617
12686
|
if (!mapHook.map ||
|
|
12618
12687
|
(mapHook.map && !mapHook.map.map.getLayer(layerId.current)) ||
|
|
12619
12688
|
!props.options) {
|
|
12620
12689
|
return;
|
|
12621
12690
|
}
|
|
12622
|
-
mapHook.map.map
|
|
12623
|
-
.getSource(layerId.current)
|
|
12624
|
-
.setData(props.options.source.data);
|
|
12691
|
+
mapHook.map.map.getSource(layerId.current).setData(props.options.source.data);
|
|
12625
12692
|
}, [props.options.source.data, props]);
|
|
12626
12693
|
return React__default.createElement(React__default.Fragment, null);
|
|
12627
12694
|
};
|
|
12628
12695
|
|
|
12696
|
+
//const unitSquareConvert = {
|
|
12697
|
+
// kilometers: 1,
|
|
12698
|
+
// miles: 1 / 2.58998811,
|
|
12699
|
+
//};
|
|
12700
|
+
function getUnitSquareMultiplier(measureType) {
|
|
12701
|
+
return measureType === "miles" ? 1 / 2.58998811 : 1;
|
|
12702
|
+
}
|
|
12703
|
+
function getUnitLabel(measureType) {
|
|
12704
|
+
return measureType === "miles" ? 'mi' : 'km';
|
|
12705
|
+
}
|
|
12706
|
+
var MlMeasureTool = function (props) {
|
|
12707
|
+
var _a = useState(0), length = _a[0], setLength = _a[1];
|
|
12708
|
+
var _b = useState([undefined]), currentFeatures = _b[0], setCurrentFeatures = _b[1];
|
|
12709
|
+
useEffect(function () {
|
|
12710
|
+
if (currentFeatures[0]) {
|
|
12711
|
+
setLength(props.measureType === "polygon"
|
|
12712
|
+
? (turf.area(currentFeatures[0]) / 1000000) * getUnitSquareMultiplier(props.unit)
|
|
12713
|
+
: turf.length(currentFeatures[0], { units: props.unit }));
|
|
12714
|
+
}
|
|
12715
|
+
}, [props.unit, currentFeatures]);
|
|
12716
|
+
return (React__default.createElement(React__default.Fragment, null,
|
|
12717
|
+
React__default.createElement(MlFeatureEditor, { onChange: function (features) {
|
|
12718
|
+
setCurrentFeatures(features);
|
|
12719
|
+
}, mode: props.measureType === "polygon" ? "custom_polygon" : "draw_line_string" }),
|
|
12720
|
+
length.toFixed(2),
|
|
12721
|
+
" ",
|
|
12722
|
+
getUnitLabel(props.unit),
|
|
12723
|
+
props.measureType === "polygon" ? "²" : ""));
|
|
12724
|
+
};
|
|
12725
|
+
MlMeasureTool.defaultProps = {
|
|
12726
|
+
mapId: undefined,
|
|
12727
|
+
measureType: "line",
|
|
12728
|
+
unit: "kilometers",
|
|
12729
|
+
};
|
|
12730
|
+
|
|
12629
12731
|
function getButtonGroupUtilityClass(slot) {
|
|
12630
12732
|
return generateUtilityClass('MuiButtonGroup', slot);
|
|
12631
12733
|
}
|
|
@@ -13342,10 +13444,13 @@ var MlVectorTileLayer = function (props) {
|
|
|
13342
13444
|
var layerPaintConfsRef = useRef({});
|
|
13343
13445
|
var layerLayoutConfsRef = useRef({});
|
|
13344
13446
|
var initializedRef = useRef(false);
|
|
13345
|
-
|
|
13346
|
-
if (!mapHook.map
|
|
13447
|
+
var createLayer = useCallback(function () {
|
|
13448
|
+
if (!mapHook.map)
|
|
13347
13449
|
return;
|
|
13348
13450
|
initializedRef.current = true;
|
|
13451
|
+
if (mapHook.map.map.getLayer(layerId.current)) {
|
|
13452
|
+
mapHook.cleanup();
|
|
13453
|
+
}
|
|
13349
13454
|
// Add the new layer to the openlayers instance once it is available
|
|
13350
13455
|
mapHook.map.addSource(layerId.current, __assign({ type: "vector", tiles: [props.url], tileSize: 512, attribution: "" }, props.sourceOptions), mapHook.componentId);
|
|
13351
13456
|
for (var key in props.layers) {
|
|
@@ -13358,8 +13463,21 @@ var MlVectorTileLayer = function (props) {
|
|
|
13358
13463
|
} }, props.layers[key]), props.insertBeforeLayer, mapHook.componentId);
|
|
13359
13464
|
layerPaintConfsRef.current[key] = JSON.stringify(props.layers[key].paint);
|
|
13360
13465
|
layerLayoutConfsRef.current[key] = JSON.stringify(props.layers[key].layout);
|
|
13466
|
+
// recreate layer if style has changed
|
|
13467
|
+
mapHook.map.on("styledata", function () {
|
|
13468
|
+
var _a;
|
|
13469
|
+
if (initializedRef.current && !((_a = mapHook.map) === null || _a === void 0 ? void 0 : _a.map.getSource(layerId.current))) {
|
|
13470
|
+
console.log("Recreate Layer " + layerId.current);
|
|
13471
|
+
createLayer();
|
|
13472
|
+
}
|
|
13473
|
+
}, mapHook.componentId);
|
|
13361
13474
|
}
|
|
13362
13475
|
}, [mapHook.map, props]);
|
|
13476
|
+
useEffect(function () {
|
|
13477
|
+
if (initializedRef.current)
|
|
13478
|
+
return;
|
|
13479
|
+
createLayer();
|
|
13480
|
+
}, [createLayer]);
|
|
13363
13481
|
useEffect(function () {
|
|
13364
13482
|
if (!mapHook.map || !initializedRef.current)
|
|
13365
13483
|
return;
|
|
@@ -13452,10 +13570,13 @@ var MlWmsLayer = function (props) {
|
|
|
13452
13570
|
});
|
|
13453
13571
|
var initializedRef = useRef(false);
|
|
13454
13572
|
var layerId = useRef(props.layerId || "MlWmsLayer-" + mapHook.componentId);
|
|
13455
|
-
|
|
13456
|
-
if (!mapHook.map
|
|
13573
|
+
var createLayer = useCallback(function () {
|
|
13574
|
+
if (!mapHook.map)
|
|
13457
13575
|
return;
|
|
13458
13576
|
initializedRef.current = true;
|
|
13577
|
+
if (mapHook.map.map.getLayer(layerId.current)) {
|
|
13578
|
+
mapHook.cleanup();
|
|
13579
|
+
}
|
|
13459
13580
|
var _propsUrlParams;
|
|
13460
13581
|
var _wmsUrl = props.url;
|
|
13461
13582
|
if (props.url.indexOf("?") !== -1) {
|
|
@@ -13466,14 +13587,26 @@ var MlWmsLayer = function (props) {
|
|
|
13466
13587
|
// first spread in default props manually to enable overriding a single parameter without replacing the whole default urlParameters object
|
|
13467
13588
|
var urlParamsObj = __assign(__assign(__assign({}, defaultProps.urlParameters), Object.fromEntries(_urlParamsFromUrl)), props.urlParameters);
|
|
13468
13589
|
var urlParams = new URLSearchParams(urlParamsObj);
|
|
13469
|
-
var urlParamsStr = decodeURIComponent(urlParams.toString()) +
|
|
13470
|
-
"".replace(/%2F/g, "/").replace(/%3A/g, ":");
|
|
13590
|
+
var urlParamsStr = decodeURIComponent(urlParams.toString()) + "".replace(/%2F/g, "/").replace(/%3A/g, ":");
|
|
13471
13591
|
mapHook.map.addSource(layerId.current, __assign({ type: "raster", tiles: [_wmsUrl + "?" + urlParamsStr], tileSize: urlParamsObj.width, attribution: props.attribution }, props.sourceOptions), mapHook.componentId);
|
|
13472
13592
|
mapHook.map.addLayer(__assign({ id: layerId.current, type: "raster", source: layerId.current }, props.layerOptions), props.insertBeforeLayer, mapHook.componentId);
|
|
13593
|
+
// recreate layer if map style.json has changed
|
|
13594
|
+
mapHook.map.on("styledata", function () {
|
|
13595
|
+
var _a;
|
|
13596
|
+
if (initializedRef.current && !((_a = mapHook.map) === null || _a === void 0 ? void 0 : _a.map.getLayer(layerId.current))) {
|
|
13597
|
+
console.log("Recreate Layer " + layerId.current);
|
|
13598
|
+
createLayer();
|
|
13599
|
+
}
|
|
13600
|
+
}, mapHook.componentId);
|
|
13473
13601
|
if (!props.visible) {
|
|
13474
13602
|
mapHook.map.map.setLayoutProperty(layerId.current, "visibility", "none");
|
|
13475
13603
|
}
|
|
13476
|
-
}, [mapHook, props]);
|
|
13604
|
+
}, [mapHook.map, props]);
|
|
13605
|
+
useEffect(function () {
|
|
13606
|
+
if (initializedRef.current)
|
|
13607
|
+
return;
|
|
13608
|
+
createLayer();
|
|
13609
|
+
}, [createLayer]);
|
|
13477
13610
|
useEffect(function () {
|
|
13478
13611
|
if (!mapHook.map || !initializedRef.current)
|
|
13479
13612
|
return;
|
|
@@ -18567,7 +18700,7 @@ useWms.defaultProps = {
|
|
|
18567
18700
|
urlParameters: {
|
|
18568
18701
|
SERVICE: "WMS",
|
|
18569
18702
|
VERSION: "1.3.0",
|
|
18570
|
-
REQUEST: "
|
|
18703
|
+
REQUEST: "GetCapabilities"
|
|
18571
18704
|
}
|
|
18572
18705
|
};
|
|
18573
18706
|
|
|
@@ -18633,5 +18766,5 @@ SimpleDataProvider.propTypes = {
|
|
|
18633
18766
|
children: PropTypes.node.isRequired
|
|
18634
18767
|
};
|
|
18635
18768
|
|
|
18636
|
-
export { GeoJsonContext, GeoJsonProvider, MapComponentsProvider, MapContext, MapLibreMap, MlBasicComponent, MlComponentTemplate, MlCreatePdfButton, MlFeatureEditor, MlFillExtrusionLayer, MlFollowGps, MlGPXViewer, MlGeoJsonLayer, MlImageMarkerLayer, MlLayer, MlLayerMagnify, MlLayerSwipe, MlMarker, MlNavigationCompass, MlNavigationTools, MlOsmLayer, MlSpatialElevationProfile, MlTransitionGeoJsonLayer, MlVectorTileLayer, MlWmsLayer, SimpleDataContext, SimpleDataProvider, useLayer, useMap, useMapState, useWms };
|
|
18769
|
+
export { GeoJsonContext, GeoJsonProvider, MapComponentsProvider, MapContext, MapLibreMap, MlBasicComponent, MlComponentTemplate, MlCreatePdfButton, MlFeatureEditor, MlFillExtrusionLayer, MlFollowGps, MlGPXViewer, MlGeoJsonLayer, MlImageMarkerLayer, MlLayer, MlLayerMagnify, MlLayerSwipe, MlMarker, MlMeasureTool, MlNavigationCompass, MlNavigationTools, MlOsmLayer, MlSpatialElevationProfile, MlTransitionGeoJsonLayer, MlVectorTileLayer, MlWmsLayer, SimpleDataContext, SimpleDataProvider, useLayer, useMap, useMapState, useWms };
|
|
18637
18770
|
//# sourceMappingURL=index.esm.js.map
|