@mapcomponents/react-maplibre 0.1.24 → 0.1.28
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/CHANGELOG.md +72 -7
- package/coverage/clover.xml +461 -489
- package/coverage/coverage-final.json +21 -20
- package/coverage/lcov-report/index.html +94 -79
- package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.js.html +22 -22
- package/coverage/lcov-report/src/components/MapLibreMap/index.html +1 -1
- package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.js.html +11 -11
- package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +11 -11
- package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.js.html +1 -1
- package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +1 -1
- package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.js.html +4 -4
- package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.js.html +212 -77
- package/coverage/lcov-report/src/components/MlFollowGps/index.html +19 -19
- package/coverage/lcov-report/src/components/MlGPXViewer/MlGPXViewer.js.html +129 -165
- package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +8 -8
- package/coverage/lcov-report/src/components/MlGPXViewer/index.html +20 -20
- package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.js.html +45 -297
- package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +19 -19
- package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.js.html +1 -1
- package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayer/MlLayer.js.html +2 -2
- package/coverage/lcov-report/src/components/MlLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.js.html +4 -4
- package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.js.html +3 -3
- package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +1 -1
- 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.js.html +1 -1
- package/coverage/lcov-report/src/components/MlMarker/index.html +1 -1
- package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.js.html +38 -104
- package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +19 -19
- package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.js.html +40 -139
- package/coverage/lcov-report/src/components/MlNavigationTools/index.html +15 -15
- package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +32 -155
- package/coverage/lcov-report/src/components/MlOsmLayer/index.html +19 -19
- package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +39 -198
- package/coverage/lcov-report/src/components/MlScaleReference/index.html +9 -9
- 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 +4 -4
- 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.js.html +580 -0
- package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +116 -0
- 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.js.html +3 -3
- package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +1 -1
- 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.js.html +8 -11
- package/coverage/lcov-report/src/components/MlWmsLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.js.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsLoader/index.html +1 -1
- package/coverage/lcov-report/src/hooks/index.html +6 -6
- package/coverage/lcov-report/src/hooks/useMap.js.html +38 -26
- package/coverage/lcov-report/src/hooks/useMapState.js.html +47 -38
- package/coverage/lcov-report/src/hooks/useWms.js.html +2 -2
- package/coverage/lcov-report/src/i18n.js.html +1 -1
- package/coverage/lcov-report/src/index.html +1 -1
- package/coverage/lcov-report/src/translations/english.js.html +1 -1
- package/coverage/lcov-report/src/translations/german.js.html +1 -1
- package/coverage/lcov-report/src/translations/index.html +1 -1
- package/coverage/lcov.info +826 -882
- package/dist/index.esm.js +288 -517
- package/dist/index.esm.js.map +1 -1
- package/jsdoc.json +3 -3
- package/package.json +9 -9
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.js +5 -1
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.test.js +3 -3
- package/src/components/MlFeatureEditor/MlFeatureEditor.test.js +2 -2
- package/src/components/MlFollowGps/MlFollowGps.js +99 -54
- package/src/components/MlFollowGps/MlFollowGps.test.js +1 -1
- package/src/components/MlGPXViewer/MlGPXViewer.js +69 -81
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.js +6 -90
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.js +4 -22
- package/src/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.js +2 -2
- package/src/components/MlNavigationCompass/MlNavigationCompass.js +17 -39
- package/src/components/MlNavigationCompass/MlNavigationCompass.test.js +3 -3
- package/src/components/MlNavigationTools/MlNavigationTools.js +30 -63
- package/src/components/MlOsmLayer/MlOsmLayer.js +15 -56
- package/src/components/MlOsmLayer/MlOsmLayer.stories.js +21 -10
- package/src/components/MlOsmLayer/MlOsmLayer.test.js +4 -4
- package/src/components/MlScaleReference/MlScaleReference.js +29 -82
- package/src/components/MlShareMapState/MlShareMapState.stories.js +1 -3
- package/src/components/MlThreeJsLayer/lib/GLTFLoader.js +2369 -2591
- package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.doc.de.md +3 -0
- package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.js +165 -0
- package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.meta.json +15 -0
- package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.stories.js +52 -0
- package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.test.js +20 -0
- package/src/components/MlTransitionGeoJsonLayer/assets/sample_1.json +26 -0
- package/src/components/MlTransitionGeoJsonLayer/assets/sample_2.json +22 -0
- package/src/components/MlTransitionGeoJsonLayer/assets/sample_polygon_1.json +33 -0
- package/src/components/{MlGeoJsonLayer → MlTransitionGeoJsonLayer}/util/transitionFunctions.js +63 -97
- package/src/components/MlWmsLayer/MlWmsLayer.js +1 -2
- package/src/decorators/MapContextDecorator.js +5 -0
- package/src/decorators/MultiMapContextDecorator.js +6 -0
- package/src/hooks/useMap.js +8 -4
- package/src/hooks/useMapState.js +4 -1
- package/src/hooks/useWms.js +1 -1
- package/dist/b556faa3bc6829d2.png +0 -0
- package/src/components/MlFollowGps/assets/marker.png +0 -0
- package/src/decorators/EmptyMapContextDecorator.js +0 -25
- package/src/decorators/MapContext3DDecorator.js +0 -39
- package/src/decorators/MapContextDashboardDecorator.js +0 -19
- package/src/decorators/MapContextKlokantechBasicDecorator.js +0 -39
package/src/hooks/useMap.js
CHANGED
|
@@ -11,9 +11,12 @@ function useMap(props) {
|
|
|
11
11
|
mapId: props.mapId,
|
|
12
12
|
watch: {
|
|
13
13
|
viewport: false,
|
|
14
|
-
layers: true,
|
|
14
|
+
layers: props.waitForLayer ? true : false,
|
|
15
15
|
sources: false,
|
|
16
16
|
},
|
|
17
|
+
filter: {
|
|
18
|
+
includeBaseLayers: true,
|
|
19
|
+
},
|
|
17
20
|
});
|
|
18
21
|
|
|
19
22
|
const initializedRef = useRef(false);
|
|
@@ -21,7 +24,7 @@ function useMap(props) {
|
|
|
21
24
|
|
|
22
25
|
const componentId = useRef(uuidv4());
|
|
23
26
|
|
|
24
|
-
const [mapIsReady, setMapIsReady] = useState(
|
|
27
|
+
const [mapIsReady, setMapIsReady] = useState(false);
|
|
25
28
|
|
|
26
29
|
useEffect(() => {
|
|
27
30
|
let _componentId = componentId.current;
|
|
@@ -39,7 +42,8 @@ function useMap(props) {
|
|
|
39
42
|
useEffect(() => {
|
|
40
43
|
if (!mapContext.mapExists(props.mapId) || initializedRef.current) return;
|
|
41
44
|
|
|
42
|
-
//check if
|
|
45
|
+
// check if waitForLayer (string, layer id of the layer this hook is supposed to wait for)
|
|
46
|
+
// exists as layer in the MapLibre instance
|
|
43
47
|
if (props.waitForLayer) {
|
|
44
48
|
let layerFound = false;
|
|
45
49
|
|
|
@@ -57,7 +61,7 @@ function useMap(props) {
|
|
|
57
61
|
initializedRef.current = true;
|
|
58
62
|
mapRef.current = mapContext.getMap(props.mapId);
|
|
59
63
|
setMapIsReady(true);
|
|
60
|
-
}, [mapContext.mapIds, mapState.layers, mapContext, props.mapId]);
|
|
64
|
+
}, [mapContext.mapIds, mapState.layers, mapContext, props.waitForLayer, props.mapId]);
|
|
61
65
|
|
|
62
66
|
return {
|
|
63
67
|
map: mapRef.current,
|
package/src/hooks/useMapState.js
CHANGED
|
@@ -61,6 +61,7 @@ function useMapState(props) {
|
|
|
61
61
|
let _componentId = componentId.current;
|
|
62
62
|
|
|
63
63
|
return () => {
|
|
64
|
+
// cleanup all event listeners
|
|
64
65
|
if (mapRef.current) {
|
|
65
66
|
mapRef.current.cleanup(_componentId);
|
|
66
67
|
mapRef.current = undefined;
|
|
@@ -79,6 +80,7 @@ function useMapState(props) {
|
|
|
79
80
|
if (props?.watch?.viewport) {
|
|
80
81
|
setViewport(mapRef.current.wrapper.viewportState);
|
|
81
82
|
|
|
83
|
+
// register viewportchange event handler
|
|
82
84
|
mapRef.current.wrapper.on(
|
|
83
85
|
"viewportchange",
|
|
84
86
|
() => {
|
|
@@ -90,6 +92,7 @@ function useMapState(props) {
|
|
|
90
92
|
);
|
|
91
93
|
}
|
|
92
94
|
|
|
95
|
+
// register layerchange event handler
|
|
93
96
|
if (props?.watch?.layers) {
|
|
94
97
|
refreshLayerState();
|
|
95
98
|
|
|
@@ -103,7 +106,7 @@ function useMapState(props) {
|
|
|
103
106
|
componentId.current
|
|
104
107
|
);
|
|
105
108
|
}
|
|
106
|
-
}, [mapContext.mapIds, mapContext, props.mapId, refreshLayerState]);
|
|
109
|
+
}, [mapContext.mapIds, mapContext, props.mapId, refreshLayerState, props]);
|
|
107
110
|
|
|
108
111
|
return {
|
|
109
112
|
layers,
|
package/src/hooks/useWms.js
CHANGED
|
@@ -63,7 +63,7 @@ function useWms(props) {
|
|
|
63
63
|
useEffect(() => {
|
|
64
64
|
if (!capabilities?.Service) return;
|
|
65
65
|
|
|
66
|
-
setWmsUrl(capabilities.
|
|
66
|
+
setWmsUrl(capabilities.Capability?.Request?.GetMap?.DCPType?.[0]?.HTTP?.Get?.OnlineResource);
|
|
67
67
|
// set getFeatureInfo url
|
|
68
68
|
setGetFeatureInfoUrl(
|
|
69
69
|
capabilities.Capability?.Request?.GetFeatureInfo?.DCPType?.[0]?.HTTP?.Get?.OnlineResource
|
|
Binary file
|
|
Binary file
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
|
|
3
|
-
import { MapComponentsProvider } from "@mapcomponents/react-core";
|
|
4
|
-
import { LoadingOverlayProvider } from "../ui_components/LoadingOverlayContext";
|
|
5
|
-
import LoadingOverlay from "../ui_components/LoadingOverlay";
|
|
6
|
-
import "./style.css";
|
|
7
|
-
import { createTheme, ThemeProvider } from "@mui/material/styles";
|
|
8
|
-
|
|
9
|
-
const theme = createTheme({});
|
|
10
|
-
|
|
11
|
-
const decorators = [
|
|
12
|
-
(Story) => (
|
|
13
|
-
<ThemeProvider theme={theme}>
|
|
14
|
-
<MapComponentsProvider>
|
|
15
|
-
<LoadingOverlayProvider>
|
|
16
|
-
<LoadingOverlay></LoadingOverlay>
|
|
17
|
-
|
|
18
|
-
<Story />
|
|
19
|
-
</LoadingOverlayProvider>
|
|
20
|
-
</MapComponentsProvider>
|
|
21
|
-
</ThemeProvider>
|
|
22
|
-
),
|
|
23
|
-
];
|
|
24
|
-
|
|
25
|
-
export default decorators;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
|
|
3
|
-
import { MapComponentsProvider } from "@mapcomponents/react-core";
|
|
4
|
-
import MapLibreMap from "../components/MapLibreMap/MapLibreMap";
|
|
5
|
-
import "./style.css";
|
|
6
|
-
import { createTheme, ThemeProvider } from "@mui/material/styles";
|
|
7
|
-
|
|
8
|
-
const theme = createTheme({});
|
|
9
|
-
|
|
10
|
-
const decorators = [
|
|
11
|
-
(Story) => (
|
|
12
|
-
<div className="fullscreen_map">
|
|
13
|
-
<ThemeProvider theme={theme}>
|
|
14
|
-
<MapComponentsProvider>
|
|
15
|
-
<Story />
|
|
16
|
-
<MapLibreMap
|
|
17
|
-
options={{
|
|
18
|
-
//style: "mapbox://styles/mapbox/light-v10",
|
|
19
|
-
//center: [-87.62712, 41.89033],
|
|
20
|
-
zoom: 14.5,
|
|
21
|
-
//pitch: 45,
|
|
22
|
-
//style: "https://wms.wheregroup.com/tileserver/style/osm-bright.json",
|
|
23
|
-
style: "https://wms.wheregroup.com/tileserver/style/osm-liberty.json",
|
|
24
|
-
//center: [8.607, 53.1409349],
|
|
25
|
-
// zoom: 13,
|
|
26
|
-
center: [7.0851268, 50.73884],
|
|
27
|
-
// maxBounds: [
|
|
28
|
-
// [1.40625, 43.452919],
|
|
29
|
-
// [17.797852, 55.973798],
|
|
30
|
-
// ],
|
|
31
|
-
}}
|
|
32
|
-
/>
|
|
33
|
-
</MapComponentsProvider>
|
|
34
|
-
</ThemeProvider>
|
|
35
|
-
</div>
|
|
36
|
-
),
|
|
37
|
-
];
|
|
38
|
-
|
|
39
|
-
export default decorators;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
|
|
3
|
-
import { MapComponentsProvider } from "@mapcomponents/react-core";
|
|
4
|
-
import "./style.css";
|
|
5
|
-
import { createTheme, ThemeProvider } from "@mui/material/styles";
|
|
6
|
-
|
|
7
|
-
const theme = createTheme({});
|
|
8
|
-
|
|
9
|
-
const decorators = [
|
|
10
|
-
(Story) => (
|
|
11
|
-
<ThemeProvider theme={theme}>
|
|
12
|
-
<MapComponentsProvider>
|
|
13
|
-
<Story />
|
|
14
|
-
</MapComponentsProvider>
|
|
15
|
-
</ThemeProvider>
|
|
16
|
-
),
|
|
17
|
-
];
|
|
18
|
-
|
|
19
|
-
export default decorators;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
|
|
3
|
-
import { MapComponentsProvider } from "@mapcomponents/react-core";
|
|
4
|
-
import MapLibreMap from "../components/MapLibreMap/MapLibreMap";
|
|
5
|
-
import "./style.css";
|
|
6
|
-
import { createTheme, ThemeProvider } from "@mui/material/styles";
|
|
7
|
-
|
|
8
|
-
const theme = createTheme({});
|
|
9
|
-
|
|
10
|
-
const decorators = [
|
|
11
|
-
(Story) => (
|
|
12
|
-
<div className="fullscreen_map">
|
|
13
|
-
<ThemeProvider theme={theme}>
|
|
14
|
-
<MapComponentsProvider>
|
|
15
|
-
<Story />
|
|
16
|
-
<MapLibreMap
|
|
17
|
-
options={{
|
|
18
|
-
//style: "mapbox://styles/mapbox/light-v10",
|
|
19
|
-
//center: [-87.62712, 41.89033],
|
|
20
|
-
zoom: 14.5,
|
|
21
|
-
//pitch: 45,
|
|
22
|
-
style: "https://wms.wheregroup.com/tileserver/style/klokantech-basic.json",
|
|
23
|
-
//style:"https://wms.wheregroup.com/tileserver/style/osm-liberty.json",
|
|
24
|
-
//center: [8.607, 53.1409349],
|
|
25
|
-
// zoom: 13,
|
|
26
|
-
center: [7.0851268, 50.73884],
|
|
27
|
-
// maxBounds: [
|
|
28
|
-
// [1.40625, 43.452919],
|
|
29
|
-
// [17.797852, 55.973798],
|
|
30
|
-
// ],
|
|
31
|
-
}}
|
|
32
|
-
/>
|
|
33
|
-
</MapComponentsProvider>
|
|
34
|
-
</ThemeProvider>
|
|
35
|
-
</div>
|
|
36
|
-
),
|
|
37
|
-
];
|
|
38
|
-
|
|
39
|
-
export default decorators;
|