@mapcomponents/react-maplibre 0.1.17 → 0.1.21
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 +29 -7
- package/coverage/clover.xml +218 -203
- package/coverage/coverage-final.json +6 -6
- package/coverage/lcov-report/index.html +44 -44
- package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.js.html +1 -1
- package/coverage/lcov-report/src/components/MapLibreMap/index.html +1 -1
- package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.js.html +1 -1
- package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +1 -1
- 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 +1 -1
- package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.js.html +1 -1
- package/coverage/lcov-report/src/components/MlFollowGps/index.html +1 -1
- package/coverage/lcov-report/src/components/MlGPXViewer/MlGPXViewer.js.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.js.html +57 -15
- package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +15 -15
- 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 +1 -1
- package/coverage/lcov-report/src/components/MlLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.js.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.js.html +1 -1
- 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 +1 -1
- package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +1 -1
- package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.js.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/index.html +1 -1
- 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 +261 -111
- package/coverage/lcov-report/src/components/MlShareMapState/index.html +9 -9
- 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/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 +50 -14
- package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +15 -15
- 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 +35 -89
- package/coverage/lcov-report/src/components/MlWmsLayer/index.html +17 -17
- 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 +12 -12
- package/coverage/lcov-report/src/hooks/useMap.js.html +40 -28
- package/coverage/lcov-report/src/hooks/useMapState.js.html +34 -34
- package/coverage/lcov-report/src/hooks/useWms.js.html +1 -1
- 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 +396 -357
- package/dist/index.esm.js +103 -70
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
- package/scripts/build-catalogue-markdown-docs.js +5 -3
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.js +26 -21
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.test.js +3 -3
- package/src/components/MlCreatePdfButton/MlCreatePdfButton.doc.de.md +2 -2
- package/src/components/MlCreatePdfButton/MlCreatePdfButton.doc.en.md +3 -0
- package/src/components/MlFeatureEditor/MlFeatureEditor.test.js +2 -2
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.js +21 -7
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.js +22 -7
- package/src/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.js +10 -1
- package/src/components/MlNavigationCompass/MlNavigationCompass.test.js +2 -2
- package/src/components/MlShareMapState/MlShareMapState.js +138 -88
- package/src/components/MlShareMapState/MlShareMapState.stories.js +79 -29
- package/src/components/MlVectorTileLayer/MlVectorTileLayer.js +18 -6
- package/src/components/MlWmsLayer/MlWmsLayer.js +16 -34
- package/src/hooks/useMap.js +4 -0
package/dist/index.esm.js
CHANGED
|
@@ -331,7 +331,7 @@ var MapLibreGlWrapper = function MapLibreGlWrapper(props) {
|
|
|
331
331
|
/**
|
|
332
332
|
* Maps layerIds to layerState in JSON string form for quick deep comparisons
|
|
333
333
|
*/
|
|
334
|
-
|
|
334
|
+
layerStateString: "",
|
|
335
335
|
|
|
336
336
|
/**
|
|
337
337
|
* Previous Version of layerStateString
|
|
@@ -345,26 +345,30 @@ var MapLibreGlWrapper = function MapLibreGlWrapper(props) {
|
|
|
345
345
|
* @returns object
|
|
346
346
|
*/
|
|
347
347
|
buildLayerObject: function buildLayerObject(layer) {
|
|
348
|
-
var _layer$paint, _layer$layout;
|
|
349
|
-
|
|
350
348
|
//if (self.baseLayers.indexOf(layer.id) === -1) {
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
Object.keys(values || {}).
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
349
|
+
//let paint = {};
|
|
350
|
+
//let values = layer.paint?._values;
|
|
351
|
+
//Object.keys(values || {}).map((propName) => {
|
|
352
|
+
// paint[propName] =
|
|
353
|
+
// typeof values[propName].value !== "undefined"
|
|
354
|
+
// ? values[propName].value.value
|
|
355
|
+
// : values[propName];
|
|
356
|
+
//});
|
|
357
|
+
//let layout = {};
|
|
358
|
+
//values = layer.layout?._values;
|
|
359
|
+
//Object.keys(values || {}).map((propName) => {
|
|
360
|
+
// layout[propName] =
|
|
361
|
+
// typeof values[propName].value !== "undefined"
|
|
362
|
+
// ? values[propName].value.value
|
|
363
|
+
// : values[propName];
|
|
364
|
+
//});
|
|
361
365
|
return {
|
|
362
366
|
id: layer.id,
|
|
363
367
|
type: layer.type,
|
|
364
368
|
visible: layer.visibility === "none" ? false : true,
|
|
365
|
-
baseLayer: self.baseLayers.indexOf(layer.id) !== -1,
|
|
366
|
-
|
|
367
|
-
|
|
369
|
+
baseLayer: self.baseLayers.indexOf(layer.id) !== -1 //paint,
|
|
370
|
+
//layout,
|
|
371
|
+
//filter: layers[layerId].filter,
|
|
368
372
|
//layout: layers[layerId].layout,
|
|
369
373
|
//maxzoom: layers[layerId].maxzoom,
|
|
370
374
|
//metadata: layers[layerId].metadata,
|
|
@@ -394,9 +398,11 @@ var MapLibreGlWrapper = function MapLibreGlWrapper(props) {
|
|
|
394
398
|
*/
|
|
395
399
|
refreshLayerState: function refreshLayerState() {
|
|
396
400
|
self.wrapper.layerState = self.wrapper.buildLayerObjects();
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
401
|
+
|
|
402
|
+
if (JSON.stringify(self.wrapper.layerState) !== self.wrapper.layerStateString) {
|
|
403
|
+
self.wrapper.fire("layerchange");
|
|
404
|
+
self.wrapper.layerStateString = JSON.stringify(self.wrapper.layerState);
|
|
405
|
+
}
|
|
400
406
|
},
|
|
401
407
|
|
|
402
408
|
/**
|
|
@@ -733,16 +739,18 @@ var MapLibreGlWrapper = function MapLibreGlWrapper(props) {
|
|
|
733
739
|
self.wrapper.viewportState = self.wrapper.getViewport();
|
|
734
740
|
self.wrapper.fire("viewportchange");
|
|
735
741
|
});
|
|
742
|
+
self.map.on("idle", function () {
|
|
743
|
+
self.wrapper.refreshLayerState();
|
|
744
|
+
});
|
|
736
745
|
self.map.on("data", function () {
|
|
737
746
|
self.wrapper.refreshLayerState();
|
|
738
|
-
self.wrapper.fire("layerchange");
|
|
739
747
|
});
|
|
740
748
|
|
|
741
749
|
if (typeof props.onReady === "function") {
|
|
742
750
|
props.onReady(self.map, self);
|
|
743
751
|
}
|
|
744
752
|
|
|
745
|
-
case
|
|
753
|
+
case 11:
|
|
746
754
|
case "end":
|
|
747
755
|
return _context.stop();
|
|
748
756
|
}
|
|
@@ -1008,7 +1016,12 @@ function useMap(props) {
|
|
|
1008
1016
|
|
|
1009
1017
|
useEffect(function () {
|
|
1010
1018
|
var _componentId = componentId.current;
|
|
1019
|
+
console.log("initialize maphook");
|
|
1011
1020
|
return function () {
|
|
1021
|
+
console.log("cleanup maphook");
|
|
1022
|
+
console.log(_typeof(mapRef.current));
|
|
1023
|
+
console.log(JSON.stringify(mapRef.current.style._order));
|
|
1024
|
+
|
|
1012
1025
|
if (mapRef.current) {
|
|
1013
1026
|
mapRef.current.cleanup(_componentId);
|
|
1014
1027
|
mapRef.current = undefined;
|
|
@@ -1381,14 +1394,22 @@ var _transitionToGeojson = function _transitionToGeojson(newGeojson, props, tran
|
|
|
1381
1394
|
}, msPerStep);
|
|
1382
1395
|
};
|
|
1383
1396
|
|
|
1384
|
-
var getDefaultPaintPropsByType = function getDefaultPaintPropsByType(type) {
|
|
1397
|
+
var getDefaultPaintPropsByType = function getDefaultPaintPropsByType(type, defaultPaintOverrides) {
|
|
1385
1398
|
switch (type) {
|
|
1386
1399
|
case "fill":
|
|
1400
|
+
if (defaultPaintOverrides !== null && defaultPaintOverrides !== void 0 && defaultPaintOverrides.fill) {
|
|
1401
|
+
return defaultPaintOverrides.fill;
|
|
1402
|
+
}
|
|
1403
|
+
|
|
1387
1404
|
return {
|
|
1388
1405
|
"fill-color": "rgba(10,240,256,0.6)"
|
|
1389
1406
|
};
|
|
1390
1407
|
|
|
1391
1408
|
case "line":
|
|
1409
|
+
if (defaultPaintOverrides !== null && defaultPaintOverrides !== void 0 && defaultPaintOverrides.line) {
|
|
1410
|
+
return defaultPaintOverrides.line;
|
|
1411
|
+
}
|
|
1412
|
+
|
|
1392
1413
|
return {
|
|
1393
1414
|
"line-color": "rgb(100,200,100)",
|
|
1394
1415
|
"line-width": 5
|
|
@@ -1396,6 +1417,10 @@ var getDefaultPaintPropsByType = function getDefaultPaintPropsByType(type) {
|
|
|
1396
1417
|
|
|
1397
1418
|
case "circle":
|
|
1398
1419
|
default:
|
|
1420
|
+
if (defaultPaintOverrides !== null && defaultPaintOverrides !== void 0 && defaultPaintOverrides.circle) {
|
|
1421
|
+
return defaultPaintOverrides.circle;
|
|
1422
|
+
}
|
|
1423
|
+
|
|
1399
1424
|
return {
|
|
1400
1425
|
"circle-color": "#44aaaa",
|
|
1401
1426
|
"circle-stroke-color": "#fff",
|
|
@@ -1473,10 +1498,12 @@ var MlGeoJsonLayer = function MlGeoJsonLayer(props) {
|
|
|
1473
1498
|
useEffect(function () {
|
|
1474
1499
|
if (!mapHook.map || !initializedRef.current) return;
|
|
1475
1500
|
|
|
1476
|
-
|
|
1477
|
-
|
|
1501
|
+
var _paint = props.paint || getDefaultPaintPropsByType(layerTypeRef.current, props.defaultPaintOverrides);
|
|
1502
|
+
|
|
1503
|
+
for (var key in _paint) {
|
|
1504
|
+
mapHook.map.setPaintProperty(layerId.current, key, _paint[key]);
|
|
1478
1505
|
}
|
|
1479
|
-
}, [props.paint, mapHook.map, props.mapId]);
|
|
1506
|
+
}, [props.paint, mapHook.map, props.mapId, props.defaultPaintOverrides]);
|
|
1480
1507
|
var transitionToGeojson = useCallback(function (newGeojson) {
|
|
1481
1508
|
_transitionToGeojson(newGeojson, props, transitionGeojsonCommonDataRef, transitionGeojsonDataRef, transitionInProgressRef, oldGeojsonRef, msPerStep, currentTransitionStepRef, mapHook.map, layerId.current, transitionTimeoutRef);
|
|
1482
1509
|
}, [props, mapHook.map]);
|
|
@@ -1506,27 +1533,27 @@ var MlGeoJsonLayer = function MlGeoJsonLayer(props) {
|
|
|
1506
1533
|
}
|
|
1507
1534
|
|
|
1508
1535
|
layerTypeRef.current = props.type || getDefaulLayerTypeByGeometry(props.geojson);
|
|
1509
|
-
mapHook.map.addLayer({
|
|
1536
|
+
mapHook.map.addLayer(_objectSpread2({
|
|
1510
1537
|
id: layerId.current,
|
|
1511
1538
|
source: {
|
|
1512
1539
|
type: "geojson",
|
|
1513
1540
|
data: geojson
|
|
1514
1541
|
},
|
|
1515
1542
|
type: layerTypeRef.current,
|
|
1516
|
-
paint: props.paint || getDefaultPaintPropsByType(layerTypeRef.current),
|
|
1543
|
+
paint: props.paint || getDefaultPaintPropsByType(layerTypeRef.current, props.defaultPaintOverrides),
|
|
1517
1544
|
layout: props.layout || {}
|
|
1518
|
-
}, props.insertBeforeLayer, mapHook.componentId);
|
|
1545
|
+
}, props.options), props.insertBeforeLayer, mapHook.componentId);
|
|
1519
1546
|
|
|
1520
1547
|
if (typeof props.onHover !== "undefined") {
|
|
1521
|
-
mapHook.map.on("mousemove",
|
|
1548
|
+
mapHook.map.on("mousemove", layerId.current, props.onHover, mapHook.componentId);
|
|
1522
1549
|
}
|
|
1523
1550
|
|
|
1524
1551
|
if (typeof props.onClick !== "undefined") {
|
|
1525
|
-
mapHook.map.on("click",
|
|
1552
|
+
mapHook.map.on("click", layerId.current, props.onClick, mapHook.componentId);
|
|
1526
1553
|
}
|
|
1527
1554
|
|
|
1528
1555
|
if (typeof props.onLeave !== "undefined") {
|
|
1529
|
-
mapHook.map.on("mouseleave",
|
|
1556
|
+
mapHook.map.on("mouseleave", layerId.current, props.onLeave, mapHook.componentId);
|
|
1530
1557
|
}
|
|
1531
1558
|
|
|
1532
1559
|
if (props.type === "line" && typeof props.transitionTime !== "undefined" && typeof props.geojson.geometry !== "undefined") {
|
|
@@ -1580,6 +1607,16 @@ MlGeoJsonLayer.propTypes = {
|
|
|
1580
1607
|
*/
|
|
1581
1608
|
paint: PropTypes.object,
|
|
1582
1609
|
|
|
1610
|
+
/**
|
|
1611
|
+
* Javascript object with optional properties "fill", "line", "circle" to override implicit layer type default paint properties.
|
|
1612
|
+
*/
|
|
1613
|
+
defaultPaintOverrides: PropTypes.object,
|
|
1614
|
+
|
|
1615
|
+
/**
|
|
1616
|
+
* Javascript object that is spread into the addLayer commands first parameter.
|
|
1617
|
+
*/
|
|
1618
|
+
options: PropTypes.object,
|
|
1619
|
+
|
|
1583
1620
|
/**
|
|
1584
1621
|
* GeoJSON data that is supposed to be rendered by this component.
|
|
1585
1622
|
*/
|
|
@@ -2682,13 +2719,12 @@ var MlVectorTileLayer = function MlVectorTileLayer(props) {
|
|
|
2682
2719
|
initializedRef.current = true;
|
|
2683
2720
|
mapRef.current = mapContext.getMap(props.mapId); // Add the new layer to the openlayers instance once it is available
|
|
2684
2721
|
|
|
2685
|
-
mapRef.current.addSource(sourceName + idSuffixRef.current, {
|
|
2722
|
+
mapRef.current.addSource(sourceName + idSuffixRef.current, _objectSpread2({
|
|
2686
2723
|
type: "vector",
|
|
2687
2724
|
tiles: [props.url],
|
|
2688
2725
|
tileSize: 512,
|
|
2689
|
-
attribution: ""
|
|
2690
|
-
|
|
2691
|
-
});
|
|
2726
|
+
attribution: ""
|
|
2727
|
+
}, props.sourceOptions));
|
|
2692
2728
|
|
|
2693
2729
|
for (var key in props.layers) {
|
|
2694
2730
|
var layerId = layerName + "_" + key + "_" + idSuffixRef.current;
|
|
@@ -2728,12 +2764,17 @@ var MlVectorTileLayer = function MlVectorTileLayer(props) {
|
|
|
2728
2764
|
}
|
|
2729
2765
|
}, [props.layers, props, mapContext]);
|
|
2730
2766
|
useEffect(function () {
|
|
2731
|
-
if (!mapRef.current) return;
|
|
2767
|
+
if (!mapRef.current) return;
|
|
2732
2768
|
|
|
2733
|
-
|
|
2734
|
-
mapRef.current.
|
|
2735
|
-
|
|
2736
|
-
|
|
2769
|
+
for (var key in props.layers) {
|
|
2770
|
+
if (mapRef.current.getLayer(layerIdsRef.current[key])) {
|
|
2771
|
+
// toggle layer visibility by changing the layout object's visibility property
|
|
2772
|
+
if (props.visible) {
|
|
2773
|
+
mapContext.getMap(props.mapId).setLayoutProperty(layerIdsRef.current[key], "visibility", "visible");
|
|
2774
|
+
} else {
|
|
2775
|
+
mapContext.getMap(props.mapId).setLayoutProperty(layerIdsRef.current[key], "visibility", "none");
|
|
2776
|
+
}
|
|
2777
|
+
}
|
|
2737
2778
|
}
|
|
2738
2779
|
}, [props.visible]);
|
|
2739
2780
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null);
|
|
@@ -2755,6 +2796,11 @@ MlVectorTileLayer.propTypes = {
|
|
|
2755
2796
|
*/
|
|
2756
2797
|
layers: PropTypes.object,
|
|
2757
2798
|
|
|
2799
|
+
/**
|
|
2800
|
+
* Boolean value to control the visibility of this layer
|
|
2801
|
+
*/
|
|
2802
|
+
visible: PropTypes.bool,
|
|
2803
|
+
|
|
2758
2804
|
/**
|
|
2759
2805
|
* String of the URL of a wms layer
|
|
2760
2806
|
*/
|
|
@@ -2802,29 +2848,16 @@ var defaultProps = {
|
|
|
2802
2848
|
*/
|
|
2803
2849
|
|
|
2804
2850
|
var MlWmsLayer = function MlWmsLayer(props) {
|
|
2805
|
-
var
|
|
2806
|
-
|
|
2807
|
-
|
|
2851
|
+
var mapHook = useMap({
|
|
2852
|
+
mapId: props.mapId,
|
|
2853
|
+
waitForLayer: props.insertBeforeLayer
|
|
2854
|
+
});
|
|
2808
2855
|
var initializedRef = useRef(false);
|
|
2809
|
-
var layerId = useRef(props.layerId || componentId
|
|
2810
|
-
useEffect(function () {
|
|
2811
|
-
var _componentId = componentId.current;
|
|
2812
|
-
return function () {
|
|
2813
|
-
// This is the cleanup function, it is called when this react component is removed from react-dom
|
|
2814
|
-
if (mapRef.current) {
|
|
2815
|
-
mapRef.current.cleanup(_componentId);
|
|
2816
|
-
mapRef.current = null;
|
|
2817
|
-
}
|
|
2818
|
-
|
|
2819
|
-
initializedRef.current = false;
|
|
2820
|
-
};
|
|
2821
|
-
}, []);
|
|
2856
|
+
var layerId = useRef(props.layerId || "MlWmsLayer-" + mapHook.componentId);
|
|
2822
2857
|
useEffect(function () {
|
|
2823
2858
|
var _propsUrlParams2;
|
|
2824
2859
|
|
|
2825
|
-
if (!
|
|
2826
|
-
mapRef.current = mapContext.getMap(props.mapId);
|
|
2827
|
-
if (!mapRef.current) return;
|
|
2860
|
+
if (!mapHook.map || initializedRef.current) return;
|
|
2828
2861
|
initializedRef.current = true;
|
|
2829
2862
|
|
|
2830
2863
|
var _propsUrlParams;
|
|
@@ -2843,31 +2876,31 @@ var MlWmsLayer = function MlWmsLayer(props) {
|
|
|
2843
2876
|
|
|
2844
2877
|
var urlParams = new URLSearchParams(urlParamsObj);
|
|
2845
2878
|
var urlParamsStr = decodeURIComponent(urlParams.toString()) + "".replace(/%2F/g, "/").replace(/%3A/g, ":");
|
|
2846
|
-
|
|
2879
|
+
mapHook.map.addSource(layerId.current, _objectSpread2({
|
|
2847
2880
|
type: "raster",
|
|
2848
2881
|
tiles: [_wmsUrl + "?" + urlParamsStr],
|
|
2849
2882
|
tileSize: urlParamsObj.width,
|
|
2850
2883
|
attribution: props.attribution
|
|
2851
|
-
}, props.sourceOptions), componentId
|
|
2852
|
-
|
|
2884
|
+
}, props.sourceOptions), mapHook.componentId);
|
|
2885
|
+
mapHook.map.addLayer(_objectSpread2({
|
|
2853
2886
|
id: layerId.current,
|
|
2854
2887
|
type: "raster",
|
|
2855
|
-
source:
|
|
2856
|
-
}, props.layerOptions), props.insertBeforeLayer, componentId
|
|
2888
|
+
source: layerId.current
|
|
2889
|
+
}, props.layerOptions), props.insertBeforeLayer, mapHook.componentId);
|
|
2857
2890
|
|
|
2858
2891
|
if (!props.visible) {
|
|
2859
|
-
|
|
2892
|
+
mapHook.map.setLayoutProperty(layerId.current, "visibility", "none");
|
|
2860
2893
|
}
|
|
2861
|
-
}, [
|
|
2894
|
+
}, [mapHook.map, props]);
|
|
2862
2895
|
useEffect(function () {
|
|
2863
|
-
if (!
|
|
2896
|
+
if (!mapHook.map || !initializedRef.current) return; // toggle layer visibility by changing the layout object's visibility property
|
|
2864
2897
|
|
|
2865
2898
|
if (props.visible) {
|
|
2866
|
-
|
|
2899
|
+
mapHook.map.setLayoutProperty(layerId.current, "visibility", "visible");
|
|
2867
2900
|
} else {
|
|
2868
|
-
|
|
2901
|
+
mapHook.map.setLayoutProperty(layerId.current, "visibility", "none");
|
|
2869
2902
|
}
|
|
2870
|
-
}, [props.visible]);
|
|
2903
|
+
}, [props.visible, mapHook.map]);
|
|
2871
2904
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null);
|
|
2872
2905
|
};
|
|
2873
2906
|
|