@mapcomponents/react-maplibre 0.1.56 → 0.1.58
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/.eslintignore +11 -0
- package/.eslintrc.js +20 -0
- package/.github/workflows/check-formatting.yml +46 -0
- package/.prettierignore +11 -0
- package/.prettierrc.json +6 -0
- package/CHANGELOG.md +20 -0
- package/coverage/clover.xml +232 -80
- package/coverage/coverage-final.json +43 -37
- package/coverage/lcov-report/index.html +71 -26
- package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +83 -83
- package/coverage/lcov-report/src/components/MapLibreMap/index.html +1 -1
- package/coverage/lcov-report/src/components/MlCenterPosition/MlCenterPosition.tsx.html +66 -66
- package/coverage/lcov-report/src/components/MlCenterPosition/index.html +1 -1
- package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +30 -30
- package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +1 -1
- package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx.html +202 -0
- package/coverage/lcov-report/src/components/MlCreatePdfForm/index.html +116 -0
- package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.tsx.html +99 -99
- package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +1 -1
- package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html +66 -66
- package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.tsx.html +221 -221
- package/coverage/lcov-report/src/components/MlFollowGps/index.html +1 -1
- package/coverage/lcov-report/src/components/MlGPXViewer/MlGPXViewer.tsx.html +308 -308
- package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +497 -497
- package/coverage/lcov-report/src/components/MlGPXViewer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +85 -85
- package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx.html +469 -0
- package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/index.html +116 -0
- package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +140 -140
- package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +37 -37
- package/coverage/lcov-report/src/components/MlLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.tsx.html +179 -179
- package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +113 -113
- package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +181 -181
- package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +58 -58
- 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 +108 -108
- package/coverage/lcov-report/src/components/MlMarker/index.html +1 -1
- package/coverage/lcov-report/src/components/MlMeasureTool/MlMeasureTool.tsx.html +39 -39
- package/coverage/lcov-report/src/components/MlMeasureTool/index.html +1 -1
- package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html +183 -183
- package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +1 -1
- package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.tsx.html +163 -163
- package/coverage/lcov-report/src/components/MlNavigationTools/index.html +1 -1
- package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +50 -50
- package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.stories_.js.html +30 -30
- package/coverage/lcov-report/src/components/MlOsmLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +89 -89
- package/coverage/lcov-report/src/components/MlScaleReference/index.html +11 -11
- package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +204 -204
- package/coverage/lcov-report/src/components/MlShareMapState/index.html +1 -1
- package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +180 -180
- package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +1 -1
- package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +163 -163
- package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +136 -136
- package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +53 -53
- package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
- package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +123 -123
- package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +35 -35
- package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +155 -155
- package/coverage/lcov-report/src/components/MlWmsLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +255 -255
- package/coverage/lcov-report/src/components/MlWmsLoader/index.html +1 -1
- package/coverage/lcov-report/src/contexts/MapContext.tsx.html +66 -66
- package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +1 -1
- package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +48 -48
- package/coverage/lcov-report/src/contexts/index.html +1 -1
- package/coverage/lcov-report/src/hooks/exportMap/index.html +131 -0
- package/coverage/lcov-report/src/hooks/exportMap/index.ts.html +175 -0
- package/coverage/lcov-report/src/hooks/exportMap/lib.ts.html +646 -0
- package/coverage/lcov-report/src/hooks/index.html +48 -18
- package/coverage/lcov-report/src/hooks/useLayer.ts.html +230 -188
- package/coverage/lcov-report/src/hooks/useLayerEvent.js.html +232 -0
- package/coverage/lcov-report/src/hooks/useMap.ts.html +72 -69
- package/coverage/lcov-report/src/hooks/useMapState.ts.html +145 -145
- package/coverage/lcov-report/src/hooks/useSource.ts.html +337 -0
- package/coverage/lcov-report/src/hooks/useWms.js.html +72 -72
- package/coverage/lcov-report/src/index.html +1 -1
- package/coverage/lcov-report/src/index.ts.html +14 -2
- package/coverage/lcov.info +450 -153
- package/dist/components/MlCreatePdfForm/MlCreatePdfForm.d.ts +24 -0
- package/dist/components/MlCreatePdfForm/MlCreatePdfForm.stories.d.ts +13 -0
- package/dist/components/MlCreatePdfForm/lib/PdfContext.d.ts +21 -0
- package/dist/components/MlCreatePdfForm/lib/PdfForm.d.ts +10 -0
- package/dist/components/MlCreatePdfForm/lib/PdfPreview.d.ts +13 -0
- package/dist/components/MlCreatePdfForm/lib/pdf.templates.d.ts +11 -0
- package/dist/components/MlFeatureEditor/lib/create_vertex.d.ts +1 -1
- package/dist/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.d.ts +22 -0
- package/dist/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.stories.d.ts +10 -0
- package/dist/components/MlLayerSwipe/MlLayerSwipe.d.ts +1 -1
- package/dist/components/MlWmsLayer/MlWmsLayer.d.ts +2 -2
- package/dist/decorators/MapContextDecoratorHooks.d.ts +2 -0
- package/dist/decorators/ThemeWrapper.d.ts +1 -0
- package/dist/hooks/exportMap/index.d.ts +11 -0
- package/dist/hooks/exportMap/lib.d.ts +36 -0
- package/dist/hooks/useLayer.d.ts +6 -5
- package/dist/hooks/useLayerEvent.d.ts +2 -0
- package/dist/hooks/useMap.d.ts +1 -1
- package/dist/hooks/useMapState.stories.d.ts +2 -2
- package/dist/hooks/useSource.d.ts +17 -0
- package/dist/hooks/useSources.stories.d.ts +13 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.esm.js +479 -190
- package/dist/index.esm.js.map +1 -1
- package/eslintErrorTest.js +10 -0
- package/package.json +7 -1
- package/public/thumbnails/MlCreatePdfForm.png +0 -0
- package/src/components/MapLibreMap/MapLibreMap.stories.js +72 -72
- package/src/components/MapLibreMap/MapLibreMap.test.js +60 -60
- package/src/components/MapLibreMap/MapLibreMap.tsx +82 -82
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.test.js +343 -343
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +619 -619
- package/src/components/MlBasicComponent.js +25 -25
- package/src/components/MlCenterPosition/MlCenterPosition.stories.js +6 -6
- package/src/components/MlCenterPosition/MlCenterPosition.tsx +65 -65
- package/src/components/MlComponentTemplate/MlComponentTemplate.stories.js +5 -5
- package/src/components/MlComponentTemplate/MlComponentTemplate.tsx +23 -23
- package/src/components/MlCreatePdfButton/{MlCreatePdfButton.meta.json → MlCreatePdfButton.meta_.json} +0 -0
- package/src/components/MlCreatePdfButton/MlCreatePdfButton.stories.js +16 -16
- package/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx +29 -29
- package/src/components/MlCreatePdfButton/lib/createPdf.ts +175 -175
- package/src/components/MlCreatePdfButton/lib/nominatimMap.ts +51 -51
- package/src/components/MlCreatePdfForm/MlCreatePdfForm.doc.de.md +3 -0
- package/src/components/MlCreatePdfForm/MlCreatePdfForm.meta.json +15 -0
- package/src/components/MlCreatePdfForm/MlCreatePdfForm.stories.tsx +152 -0
- package/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx +39 -0
- package/src/components/MlCreatePdfForm/lib/PdfContext.tsx +53 -0
- package/src/components/MlCreatePdfForm/lib/PdfForm.tsx +161 -0
- package/src/components/MlCreatePdfForm/lib/PdfPreview.tsx +399 -0
- package/src/components/MlCreatePdfForm/lib/pdf.templates.ts +82 -0
- package/src/components/MlFeatureEditor/MlFeatureEditor.stories.js +55 -55
- package/src/components/MlFeatureEditor/MlFeatureEditor.test.js +105 -105
- package/src/components/MlFeatureEditor/MlFeatureEditor.tsx +119 -119
- package/src/components/MlFeatureEditor/custom-direct-select-mode.js +208 -208
- package/src/components/MlFeatureEditor/custom-polygon-mode.js +148 -148
- package/src/components/MlFeatureEditor/custom-select-mode.js +314 -314
- package/src/components/MlFeatureEditor/lib/common_selectors.js +34 -34
- package/src/components/MlFeatureEditor/lib/constants.js +61 -61
- package/src/components/MlFeatureEditor/lib/constrain_feature_movement.js +51 -51
- package/src/components/MlFeatureEditor/lib/create_midpoint.js +30 -30
- package/src/components/MlFeatureEditor/lib/create_supplementary_points.js +82 -82
- package/src/components/MlFeatureEditor/lib/create_vertex.js +16 -16
- package/src/components/MlFeatureEditor/lib/double_click_zoom.js +23 -23
- package/src/components/MlFeatureEditor/lib/euclidean_distance.js +3 -3
- package/src/components/MlFeatureEditor/lib/features_at.js +23 -23
- package/src/components/MlFeatureEditor/lib/get_features_and_set_cursor.js +15 -15
- package/src/components/MlFeatureEditor/lib/is_click.js +8 -8
- package/src/components/MlFeatureEditor/lib/is_event_at_coordinates.js +2 -2
- package/src/components/MlFeatureEditor/lib/is_tap.js +6 -6
- package/src/components/MlFeatureEditor/lib/map_event_to_bounding_box.js +4 -4
- package/src/components/MlFeatureEditor/lib/mode_handler.js +105 -105
- package/src/components/MlFeatureEditor/lib/mouse_event_point.js +5 -5
- package/src/components/MlFeatureEditor/lib/move_features.js +33 -33
- package/src/components/MlFeatureEditor/lib/sort_features.js +25 -25
- package/src/components/MlFeatureEditor/lib/string_set.js +36 -36
- package/src/components/MlFeatureEditor/lib/string_sets_are_equal.js +2 -2
- package/src/components/MlFeatureEditor/lib/theme.js +230 -230
- package/src/components/MlFeatureEditor/lib/to_dense_array.js +1 -1
- package/src/components/MlFeatureEditor/lib/utils.js +40 -40
- package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.stories.js +9 -9
- package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.test.js +4 -4
- package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx +65 -65
- package/src/components/MlFollowGps/MlFollowGps.stories.js +6 -6
- package/src/components/MlFollowGps/MlFollowGps.test.js +44 -44
- package/src/components/MlFollowGps/MlFollowGps.tsx +220 -220
- package/src/components/MlGPXViewer/MlGPXViewer.stories.js +15 -15
- package/src/components/MlGPXViewer/MlGPXViewer.test.js +12 -12
- package/src/components/MlGPXViewer/MlGPXViewer.tsx +345 -345
- package/src/components/MlGPXViewer/gpxConverter.js +496 -496
- package/src/components/MlGPXViewer/util/GeoJsonContext.ts +4 -4
- package/src/components/MlGPXViewer/util/GeoJsonProvider.tsx +16 -16
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.js +34 -34
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.test.js +8 -8
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx +84 -84
- package/src/components/MlGeoJsonLayer/util/getDefaultLayerTypeByGeometry.ts +21 -21
- package/src/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.ts +27 -27
- package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.doc.de.md +3 -0
- package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.meta_.json +15 -0
- package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.stories.js +19 -0
- package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx +128 -0
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.js +28 -28
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.test.js +8 -8
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx +162 -162
- package/src/components/MlLayer/MlLayer.stories.js +5 -5
- package/src/components/MlLayer/MlLayer.test.js +86 -86
- package/src/components/MlLayer/MlLayer.tsx +36 -36
- package/src/components/MlLayerMagnify/MlLayerMagnify.stories.js +21 -21
- package/src/components/MlLayerMagnify/MlLayerMagnify.test.js +54 -54
- package/src/components/MlLayerMagnify/MlLayerMagnify.tsx +201 -201
- package/src/components/MlLayerSwipe/MlLayerSwipe.stories.js +20 -20
- package/src/components/MlLayerSwipe/MlLayerSwipe.test.js +54 -54
- package/src/components/MlLayerSwipe/MlLayerSwipe.tsx +130 -130
- package/src/components/MlLayerSwitcher/MlLayerSwitcher.js +194 -194
- package/src/components/MlLayerSwitcher/MlLayerSwitcher.stories.js +85 -85
- package/src/components/MlLayerSwitcher/components/LayerBox.js +57 -57
- package/src/components/MlMarker/MlMarker.stories.js +7 -7
- package/src/components/MlMarker/MlMarker.tsx +119 -119
- package/src/components/MlMeasureTool/MlMeasureTool.stories.js +64 -64
- package/src/components/MlMeasureTool/MlMeasureTool.tsx +38 -38
- package/src/components/MlNavigationCompass/MlNavigationCompass.stories.js +45 -45
- package/src/components/MlNavigationCompass/MlNavigationCompass.test.js +40 -40
- package/src/components/MlNavigationCompass/MlNavigationCompass.tsx +192 -192
- package/src/components/MlNavigationTools/MlNavigationTools.stories.js +18 -18
- package/src/components/MlNavigationTools/MlNavigationTools.tsx +173 -173
- package/src/components/MlOsmLayer/MlOsmLayer.js +49 -49
- package/src/components/MlOsmLayer/MlOsmLayer.stories_.js +29 -29
- package/src/components/MlOsmLayer/MlOsmLayer.test.js +8 -8
- package/src/components/MlScaleReference/MlScaleReference.js +82 -82
- package/src/components/MlScaleReference/MlScaleReference.stories.js +33 -35
- package/src/components/MlShareMapState/MlShareMapState.js +203 -203
- package/src/components/MlShareMapState/MlShareMapState.stories.js +68 -68
- package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js +201 -201
- package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.js +35 -35
- package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.test.js +8 -8
- package/src/components/MlThreeJsLayer/MlThreeJsLayer.js +186 -186
- package/src/components/MlThreeJsLayer/MlThreeJsLayer.stories.js +21 -21
- package/src/components/MlThreeJsLayer/MlThreeJsLayer.test.js +24 -24
- package/src/components/MlThreeJsLayer/lib/GLTFLoader.js +3327 -3327
- package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.stories.js +31 -30
- package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.test.js +8 -8
- package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx +146 -146
- package/src/components/MlTransitionGeoJsonLayer/util/transitionFunctions.js +207 -207
- package/src/components/MlUseMapDebugger/MlUseMapDebugger.js +52 -52
- package/src/components/MlUseMapDebugger/MlUseMapDebugger.stories.js +13 -13
- package/src/components/MlVectorTileLayer/MlVectorTileLayer.stories.js +27 -27
- package/src/components/MlVectorTileLayer/MlVectorTileLayer.test.js +27 -27
- package/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx +137 -137
- package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js +34 -34
- package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.stories.js +7 -7
- package/src/components/MlWmsLayer/MlWmsLayer.stories.js +26 -26
- package/src/components/MlWmsLayer/MlWmsLayer.test.js +8 -8
- package/src/components/MlWmsLayer/MlWmsLayer.tsx +167 -167
- package/src/components/MlWmsLoader/MlWmsLoader.stories.js +27 -27
- package/src/components/MlWmsLoader/MlWmsLoader.tsx +254 -254
- package/src/contexts/MapComponentsProvider.test.js +229 -229
- package/src/contexts/MapContext.tsx +65 -65
- package/src/contexts/SimpleDataProvider.js +47 -47
- package/src/contexts/SimpleDataProvider.test.js +29 -29
- package/src/custom.d.tsx +14 -14
- package/src/decorators/MapContextDecorator.js +23 -25
- package/src/decorators/MapContextDecoratorHooks.js +34 -0
- package/src/decorators/MultiMapContextDecorator.js +63 -63
- package/src/decorators/NoNavToolsDecorator.js +17 -17
- package/src/decorators/ThemeWrapper.jsx +9 -0
- package/src/hooks/assets/pointWG.json +13 -0
- package/src/hooks/exportMap/index.ts +30 -0
- package/src/hooks/exportMap/lib.ts +187 -0
- package/src/hooks/useLayer.test.js +188 -188
- package/src/hooks/useLayer.ts +194 -180
- package/src/hooks/useLayerEvent.js +49 -0
- package/src/hooks/useMap.ts +67 -66
- package/src/hooks/useMapState.stories.js +78 -78
- package/src/hooks/useMapState.ts +161 -161
- package/src/hooks/useSource.ts +84 -0
- package/src/hooks/useSources.stories.js +232 -0
- package/src/hooks/useWms.js +71 -71
- package/src/index.ts +4 -0
- package/src/setupTests.js +86 -86
- package/src/ui_components/ImageLoader.js +62 -62
- package/src/ui_components/Legend.js +34 -34
- package/src/ui_components/LoadingOverlay.js +29 -29
- package/src/ui_components/LoadingOverlayContext.js +68 -68
- package/src/ui_components/Sidebar.js +80 -80
- package/src/ui_components/Tooltip.js +9 -9
- package/src/ui_components/TopToolbar.js +23 -23
- package/src/util/layerRemovalTest.js +111 -111
- package/src/util/sourceRemovalTest.js +103 -103
|
@@ -352,134 +352,134 @@ import useMap from "../../hooks/useMap";
|
|
|
352
352
|
import Point from "@mapbox/point-geometry";
|
|
353
353
|
|
|
354
354
|
interface MlMarkerProps {
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
355
|
+
/**
|
|
356
|
+
* Id of the target MapLibre instance in mapContext
|
|
357
|
+
*/
|
|
358
|
+
mapId?: string;
|
|
359
|
+
/**
|
|
360
|
+
* The layerId of an existing layer this layer should be rendered visually beneath
|
|
361
|
+
* https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see "beforeId" property
|
|
362
|
+
*/
|
|
363
|
+
insertBeforeLayer?: string;
|
|
364
|
+
/**
|
|
365
|
+
* Longitude of the marker position
|
|
366
|
+
*/
|
|
367
|
+
lng: number;
|
|
368
|
+
/**
|
|
369
|
+
* Latitude of the marker position
|
|
370
|
+
*/
|
|
371
|
+
lat: number;
|
|
372
|
+
/**
|
|
373
|
+
* Content of the description popup
|
|
374
|
+
*/
|
|
375
|
+
content?: string;
|
|
376
376
|
}
|
|
377
377
|
|
|
378
378
|
/**
|
|
379
379
|
* Adds a marker to the map and displays the contents of the "content" property in an iframe next to it
|
|
380
380
|
*/
|
|
381
381
|
const MlMarker = <span class="fstat-no" title="function not covered" >(p</span>rops: MlMarkerProps) => {
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
382
|
+
const mapHook = <span class="cstat-no" title="statement not covered" >useMap({</span>
|
|
383
|
+
mapId: props.mapId,
|
|
384
|
+
waitForLayer: props.insertBeforeLayer,
|
|
385
|
+
});
|
|
386
386
|
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
387
|
+
const mapState = <span class="cstat-no" title="statement not covered" >useMapState({</span>
|
|
388
|
+
mapId: props.mapId,
|
|
389
|
+
watch: { viewport: true },
|
|
390
|
+
});
|
|
391
391
|
|
|
392
|
-
|
|
392
|
+
const iframe = <span class="cstat-no" title="statement not covered" >useRef<HTMLIFrameElement>(null);</span>
|
|
393
393
|
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
394
|
+
const [iframeDimensions, setIframeDimensions] = <span class="cstat-no" title="statement not covered" >useState({</span>
|
|
395
|
+
width: "400px",
|
|
396
|
+
height: "500px",
|
|
397
|
+
});
|
|
398
398
|
|
|
399
|
-
|
|
399
|
+
const [markerPixelPos, setMarkerPixelPos] = <span class="cstat-no" title="statement not covered" >useState<Point>();</span>
|
|
400
400
|
|
|
401
|
-
<span class="cstat-no" title="statement not covered" >
|
|
402
|
-
<span class="cstat-no" title="statement not covered" >
|
|
401
|
+
<span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
402
|
+
<span class="cstat-no" title="statement not covered" > if (!mapHook.map?.map?.project) <span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
403
403
|
|
|
404
|
-
|
|
404
|
+
const _pixelPos = <span class="cstat-no" title="statement not covered" >mapHook.map.map.project([props.lng, props.lat]);</span>
|
|
405
405
|
|
|
406
|
-
<span class="cstat-no" title="statement not covered" >
|
|
407
|
-
|
|
406
|
+
<span class="cstat-no" title="statement not covered" > setMarkerPixelPos(_pixelPos);</span>
|
|
407
|
+
}, [mapHook.map, props.lng, props.lat, mapState.viewport]);
|
|
408
408
|
|
|
409
|
-
<span class="cstat-no" title="statement not covered" >
|
|
410
|
-
<span class="cstat-no" title="statement not covered" >
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
<span class="cstat-no" title="statement not covered" >
|
|
409
|
+
<span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
410
|
+
<span class="cstat-no" title="statement not covered" > if (</span>
|
|
411
|
+
!mapHook.map ||
|
|
412
|
+
!iframe.current?.contentWindow?.document?.body?.scrollHeight
|
|
413
|
+
)
|
|
414
|
+
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
415
415
|
|
|
416
|
-
|
|
416
|
+
let mapHeight = <span class="cstat-no" title="statement not covered" >mapHook.map.map._container.clientHeight;</span>
|
|
417
417
|
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
<span class="cstat-no" title="statement not covered" >
|
|
422
|
-
|
|
423
|
-
<span class="cstat-no" title="statement not covered" >
|
|
418
|
+
const _pixelPos = <span class="cstat-no" title="statement not covered" >mapHook.map.map.project([props.lng, props.lat]);</span>
|
|
419
|
+
let pixelToBottom = <span class="cstat-no" title="statement not covered" >mapHeight - _pixelPos.y;</span>
|
|
420
|
+
let iframeHeight =
|
|
421
|
+
<span class="cstat-no" title="statement not covered" > iframe.current?.contentWindow?.document?.body?.scrollHeight;</span>
|
|
422
|
+
let iframeWidth =
|
|
423
|
+
<span class="cstat-no" title="statement not covered" > iframe.current?.contentWindow?.document?.body?.scrollWidth;</span>
|
|
424
424
|
|
|
425
|
-
<span class="cstat-no" title="statement not covered" >
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
425
|
+
<span class="cstat-no" title="statement not covered" > setIframeDimensions({</span>
|
|
426
|
+
width: iframeWidth + "px",
|
|
427
|
+
height:
|
|
428
|
+
(pixelToBottom < iframeHeight ? pixelToBottom : iframeHeight) + "px",
|
|
429
|
+
});
|
|
430
|
+
}, [props.lng, props.lat, props.content]);
|
|
431
431
|
|
|
432
|
-
<span class="cstat-no" title="statement not covered" >
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
432
|
+
<span class="cstat-no" title="statement not covered" > return (</span>
|
|
433
|
+
<>
|
|
434
|
+
<MlGeoJsonLayer
|
|
435
|
+
geojson={{
|
|
436
|
+
type: "Feature",
|
|
437
|
+
geometry: {
|
|
438
|
+
type: "Point",
|
|
439
|
+
coordinates: [props.lng, props.lat],
|
|
440
|
+
},
|
|
441
|
+
properties: {},
|
|
442
|
+
}}
|
|
443
|
+
paint={{
|
|
444
|
+
"circle-radius": 14,
|
|
445
|
+
"circle-color": "rgba(40,200,20,0.5)",
|
|
446
|
+
}}
|
|
447
|
+
type="circle"
|
|
448
|
+
mapId={props.mapId}
|
|
449
|
+
></MlGeoJsonLayer>
|
|
450
|
+
{markerPixelPos && (
|
|
451
|
+
<Paper
|
|
452
|
+
sx={{
|
|
453
|
+
opacity: 0.7,
|
|
454
|
+
position: "fixed",
|
|
455
|
+
display: "flex",
|
|
456
|
+
/** TODO: fix positioning delay when moving the map */
|
|
457
|
+
left: markerPixelPos.x,
|
|
458
|
+
top: markerPixelPos.y,
|
|
459
|
+
width: iframeDimensions.width,
|
|
460
|
+
height: iframeDimensions.height,
|
|
461
|
+
"&:hover": {
|
|
462
|
+
opacity: 1,
|
|
463
|
+
},
|
|
464
|
+
zIndex: -1,
|
|
465
|
+
}}
|
|
466
|
+
>
|
|
467
|
+
<iframe
|
|
468
|
+
style={{ width: "100%" }}
|
|
469
|
+
srcDoc={props.content}
|
|
470
|
+
ref={iframe}
|
|
471
|
+
sandbox="allow-same-origin allow-popups-to-escape-sandbox"
|
|
472
|
+
frameBorder="0"
|
|
473
|
+
title={mapHook.componentId}
|
|
474
|
+
></iframe>
|
|
475
|
+
</Paper>
|
|
476
|
+
)}
|
|
477
|
+
</>
|
|
478
|
+
);
|
|
479
479
|
};
|
|
480
480
|
|
|
481
481
|
MlMarker.defaultProps = {
|
|
482
|
-
|
|
482
|
+
mapId: undefined,
|
|
483
483
|
};
|
|
484
484
|
|
|
485
485
|
export default MlMarker;
|
|
@@ -490,7 +490,7 @@ export default MlMarker;
|
|
|
490
490
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
491
491
|
Code coverage generated by
|
|
492
492
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
493
|
-
at
|
|
493
|
+
at Tue Oct 04 2022 11:59:51 GMT+0000 (Coordinated Universal Time)
|
|
494
494
|
</div>
|
|
495
495
|
<script src="../../../prettify.js"></script>
|
|
496
496
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at
|
|
104
|
+
at Tue Oct 04 2022 11:59:51 GMT+0000 (Coordinated Universal Time)
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -188,59 +188,59 @@ import MlFeatureEditor from "../MlFeatureEditor/MlFeatureEditor";
|
|
|
188
188
|
import * as turf from "@turf/turf";
|
|
189
189
|
|
|
190
190
|
interface MlMeasureToolProps {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
191
|
+
/**
|
|
192
|
+
* String that specify if the Tool measures an area ("polygon") or length ("line")
|
|
193
|
+
*/
|
|
194
|
+
measureType?: string;
|
|
195
|
+
/**
|
|
196
|
+
* String that dictates which unit of measurement is used
|
|
197
|
+
*/
|
|
198
|
+
unit?: turf.Units;
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
//const unitSquareConvert = {
|
|
202
|
-
//
|
|
203
|
-
//
|
|
202
|
+
// kilometers: 1,
|
|
203
|
+
// miles: 1 / 2.58998811,
|
|
204
204
|
//};
|
|
205
205
|
function <span class="fstat-no" title="function not covered" >getUnitSquareMultiplier(</span>measureType:string | undefined) {
|
|
206
|
-
<span class="cstat-no" title="statement not covered" >
|
|
206
|
+
<span class="cstat-no" title="statement not covered" > return measureType === "miles" ? 1 / 2.58998811 : 1;</span>
|
|
207
207
|
}
|
|
208
208
|
function <span class="fstat-no" title="function not covered" >getUnitLabel(</span>measureType:string | undefined) {
|
|
209
|
-
<span class="cstat-no" title="statement not covered" >
|
|
209
|
+
<span class="cstat-no" title="statement not covered" > return measureType === "miles" ? 'mi' : 'km';</span>
|
|
210
210
|
}
|
|
211
211
|
|
|
212
212
|
const MlMeasureTool = <span class="fstat-no" title="function not covered" >(p</span>rops: MlMeasureToolProps) => {
|
|
213
|
-
|
|
214
|
-
|
|
213
|
+
const [length, setLength] = <span class="cstat-no" title="statement not covered" >useState(0);</span>
|
|
214
|
+
const [currentFeatures, setCurrentFeatures] = <span class="cstat-no" title="statement not covered" >useState([undefined]);</span>
|
|
215
215
|
|
|
216
|
-
<span class="cstat-no" title="statement not covered" >
|
|
217
|
-
<span class="cstat-no" title="statement not covered" >
|
|
218
|
-
<span class="cstat-no" title="statement not covered" >
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
216
|
+
<span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
217
|
+
<span class="cstat-no" title="statement not covered" > if (currentFeatures[0]) {</span>
|
|
218
|
+
<span class="cstat-no" title="statement not covered" > setLength(</span>
|
|
219
|
+
props.measureType === "polygon"
|
|
220
|
+
? (turf.area(currentFeatures[0]) / 1000000) * getUnitSquareMultiplier(props.unit)
|
|
221
|
+
: turf.length(currentFeatures[0], { units: props.unit })
|
|
222
|
+
);
|
|
223
|
+
}
|
|
224
|
+
}, [props.unit, currentFeatures]);
|
|
225
225
|
|
|
226
|
-
<span class="cstat-no" title="statement not covered" >
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
<span class="cstat-no" title="statement not covered" >
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
226
|
+
<span class="cstat-no" title="statement not covered" > return (</span>
|
|
227
|
+
<>
|
|
228
|
+
<MlFeatureEditor
|
|
229
|
+
onChange={<span class="fstat-no" title="function not covered" >(f</span>eatures:any) => {
|
|
230
|
+
<span class="cstat-no" title="statement not covered" > setCurrentFeatures(features);</span>
|
|
231
|
+
}}
|
|
232
|
+
mode={props.measureType === "polygon" ? "custom_polygon" : "draw_line_string"}
|
|
233
|
+
/>
|
|
234
|
+
{length.toFixed(2)} {getUnitLabel(props.unit)}
|
|
235
|
+
{props.measureType === "polygon" ? "²" : ""}
|
|
236
|
+
</>
|
|
237
|
+
);
|
|
238
238
|
};
|
|
239
239
|
|
|
240
240
|
MlMeasureTool.defaultProps = {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
241
|
+
mapId: undefined,
|
|
242
|
+
measureType: "line",
|
|
243
|
+
unit: "kilometers",
|
|
244
244
|
};
|
|
245
245
|
export default MlMeasureTool;
|
|
246
246
|
</pre></td></tr></table></pre>
|
|
@@ -250,7 +250,7 @@ export default MlMeasureTool;
|
|
|
250
250
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
251
251
|
Code coverage generated by
|
|
252
252
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
253
|
-
at
|
|
253
|
+
at Tue Oct 04 2022 11:59:51 GMT+0000 (Coordinated Universal Time)
|
|
254
254
|
</div>
|
|
255
255
|
<script src="../../../prettify.js"></script>
|
|
256
256
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at
|
|
104
|
+
at Tue Oct 04 2022 11:59:51 GMT+0000 (Coordinated Universal Time)
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../../prettify.js"></script>
|
|
107
107
|
<script>
|