@mapcomponents/react-maplibre 0.1.60 → 0.1.61

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.
Files changed (102) hide show
  1. package/.eslintignore +2 -1
  2. package/CHANGELOG.md +5 -0
  3. package/coverage/clover.xml +94 -3
  4. package/coverage/coverage-final.json +1 -0
  5. package/coverage/lcov-report/index.html +24 -9
  6. package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +1 -1
  7. package/coverage/lcov-report/src/components/MapLibreMap/index.html +1 -1
  8. package/coverage/lcov-report/src/components/MlCenterPosition/MlCenterPosition.tsx.html +1 -1
  9. package/coverage/lcov-report/src/components/MlCenterPosition/index.html +1 -1
  10. package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +1 -1
  11. package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +1 -1
  12. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx.html +1 -1
  13. package/coverage/lcov-report/src/components/MlCreatePdfForm/index.html +1 -1
  14. package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.tsx.html +1 -1
  15. package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +1 -1
  16. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html +1 -1
  17. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +1 -1
  18. package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.tsx.html +1 -1
  19. package/coverage/lcov-report/src/components/MlFollowGps/index.html +1 -1
  20. package/coverage/lcov-report/src/components/MlGPXViewer/MlGPXViewer.tsx.html +1 -1
  21. package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +1 -1
  22. package/coverage/lcov-report/src/components/MlGPXViewer/index.html +1 -1
  23. package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +1 -1
  24. package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +1 -1
  25. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx.html +1 -1
  26. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/index.html +1 -1
  27. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +1 -1
  28. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +1 -1
  29. package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +1 -1
  30. package/coverage/lcov-report/src/components/MlLayer/index.html +1 -1
  31. package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.tsx.html +1 -1
  32. package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +1 -1
  33. package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +1 -1
  34. package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +1 -1
  35. package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +1 -1
  36. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +1 -1
  37. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +1 -1
  38. package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +1 -1
  39. package/coverage/lcov-report/src/components/MlMarker/MlMarker.tsx.html +1 -1
  40. package/coverage/lcov-report/src/components/MlMarker/index.html +1 -1
  41. package/coverage/lcov-report/src/components/MlMeasureTool/MlMeasureTool.tsx.html +1 -1
  42. package/coverage/lcov-report/src/components/MlMeasureTool/index.html +1 -1
  43. package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html +1 -1
  44. package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +1 -1
  45. package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.tsx.html +1 -1
  46. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +1 -1
  47. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +1 -1
  48. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.stories_.js.html +1 -1
  49. package/coverage/lcov-report/src/components/MlOsmLayer/index.html +1 -1
  50. package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +1 -1
  51. package/coverage/lcov-report/src/components/MlScaleReference/index.html +1 -1
  52. package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +1 -1
  53. package/coverage/lcov-report/src/components/MlShareMapState/index.html +1 -1
  54. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +1 -1
  55. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +1 -1
  56. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +1 -1
  57. package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +1 -1
  58. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +1 -1
  59. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +1 -1
  60. package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +1 -1
  61. package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
  62. package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +1 -1
  63. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +1 -1
  64. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +1 -1
  65. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +1 -1
  66. package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +1 -1
  67. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +1 -1
  68. package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +1 -1
  69. package/coverage/lcov-report/src/components/MlWmsLoader/index.html +1 -1
  70. package/coverage/lcov-report/src/contexts/MapContext.tsx.html +1 -1
  71. package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +1 -1
  72. package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +1 -1
  73. package/coverage/lcov-report/src/contexts/index.html +1 -1
  74. package/coverage/lcov-report/src/hooks/index.html +1 -1
  75. package/coverage/lcov-report/src/hooks/useCameraFollowPath/index.html +116 -0
  76. package/coverage/lcov-report/src/hooks/useCameraFollowPath/useCameraFollowPath.tsx.html +661 -0
  77. package/coverage/lcov-report/src/hooks/useExportMap/index.html +1 -1
  78. package/coverage/lcov-report/src/hooks/useExportMap/index.ts.html +1 -1
  79. package/coverage/lcov-report/src/hooks/useExportMap/lib.ts.html +1 -1
  80. package/coverage/lcov-report/src/hooks/useLayer.ts.html +1 -1
  81. package/coverage/lcov-report/src/hooks/useLayerEvent.js.html +1 -1
  82. package/coverage/lcov-report/src/hooks/useMap.ts.html +1 -1
  83. package/coverage/lcov-report/src/hooks/useMapState.ts.html +1 -1
  84. package/coverage/lcov-report/src/hooks/useSource.ts.html +1 -1
  85. package/coverage/lcov-report/src/hooks/useWms.js.html +1 -1
  86. package/coverage/lcov-report/src/index.html +1 -1
  87. package/coverage/lcov-report/src/index.ts.html +5 -2
  88. package/coverage/lcov.info +172 -0
  89. package/dist/hooks/useCameraFollowPath/useCameraFollowPath.d.ts +35 -0
  90. package/dist/hooks/useCameraFollowPath/useCameraFollowPath.stories.d.ts +17 -0
  91. package/dist/index.d.ts +1 -0
  92. package/dist/index.esm.js +152 -1
  93. package/dist/index.esm.js.map +1 -1
  94. package/package.json +2 -1
  95. package/scripts/build-catalogue-meta.js +1 -1
  96. package/src/components/MlCreatePdfForm/lib/PdfForm.tsx +2 -2
  97. package/src/hooks/useCameraFollowPath/useCameraFollowPath.doc.de.md +4 -0
  98. package/src/hooks/useCameraFollowPath/useCameraFollowPath.doc.en.md +1 -0
  99. package/src/hooks/useCameraFollowPath/useCameraFollowPath.meta.json +15 -0
  100. package/src/hooks/useCameraFollowPath/useCameraFollowPath.stories.tsx +198 -0
  101. package/src/hooks/useCameraFollowPath/useCameraFollowPath.tsx +192 -0
  102. package/src/index.ts +1 -0
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at Fri Nov 04 2022 12:45:22 GMT+0000 (Coordinated Universal Time)
119
+ at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
120
120
  </div>
121
121
  <script src="../../../prettify.js"></script>
122
122
  <script>
@@ -160,7 +160,7 @@ export default function <span class="fstat-no" title="function not covered" >use
160
160
  <div class='footer quiet pad2 space-top1 center small'>
161
161
  Code coverage generated by
162
162
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
163
- at Fri Nov 04 2022 12:45:22 GMT+0000 (Coordinated Universal Time)
163
+ at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
164
164
  </div>
165
165
  <script src="../../../prettify.js"></script>
166
166
  <script>
@@ -631,7 +631,7 @@ export { createExport };
631
631
  <div class='footer quiet pad2 space-top1 center small'>
632
632
  Code coverage generated by
633
633
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
634
- at Fri Nov 04 2022 12:45:22 GMT+0000 (Coordinated Universal Time)
634
+ at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
635
635
  </div>
636
636
  <script src="../../../prettify.js"></script>
637
637
  <script>
@@ -706,7 +706,7 @@ export default useLayer;
706
706
  <div class='footer quiet pad2 space-top1 center small'>
707
707
  Code coverage generated by
708
708
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
709
- at Fri Nov 04 2022 12:45:22 GMT+0000 (Coordinated Universal Time)
709
+ at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
710
710
  </div>
711
711
  <script src="../../prettify.js"></script>
712
712
  <script>
@@ -217,7 +217,7 @@ export default useLayerEvent;
217
217
  <div class='footer quiet pad2 space-top1 center small'>
218
218
  Code coverage generated by
219
219
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
220
- at Fri Nov 04 2022 12:45:22 GMT+0000 (Coordinated Universal Time)
220
+ at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
221
221
  </div>
222
222
  <script src="../../prettify.js"></script>
223
223
  <script>
@@ -343,7 +343,7 @@ export type { useMapType };
343
343
  <div class='footer quiet pad2 space-top1 center small'>
344
344
  Code coverage generated by
345
345
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
346
- at Fri Nov 04 2022 12:45:22 GMT+0000 (Coordinated Universal Time)
346
+ at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
347
347
  </div>
348
348
  <script src="../../prettify.js"></script>
349
349
  <script>
@@ -637,7 +637,7 @@ export default useMapState;
637
637
  <div class='footer quiet pad2 space-top1 center small'>
638
638
  Code coverage generated by
639
639
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
640
- at Fri Nov 04 2022 12:45:22 GMT+0000 (Coordinated Universal Time)
640
+ at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
641
641
  </div>
642
642
  <script src="../../prettify.js"></script>
643
643
  <script>
@@ -322,7 +322,7 @@ export default useSource;
322
322
  <div class='footer quiet pad2 space-top1 center small'>
323
323
  Code coverage generated by
324
324
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
325
- at Fri Nov 04 2022 12:45:22 GMT+0000 (Coordinated Universal Time)
325
+ at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
326
326
  </div>
327
327
  <script src="../../prettify.js"></script>
328
328
  <script>
@@ -343,7 +343,7 @@ export default useWms;
343
343
  <div class='footer quiet pad2 space-top1 center small'>
344
344
  Code coverage generated by
345
345
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
346
- at Fri Nov 04 2022 12:45:22 GMT+0000 (Coordinated Universal Time)
346
+ at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
347
347
  </div>
348
348
  <script src="../../prettify.js"></script>
349
349
  <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 Fri Nov 04 2022 12:45:22 GMT+0000 (Coordinated Universal Time)
104
+ at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -106,7 +106,9 @@
106
106
  <a name='L41'></a><a href='#L41'>41</a>
107
107
  <a name='L42'></a><a href='#L42'>42</a>
108
108
  <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
111
+ <span class="cline-any cline-neutral">&nbsp;</span>
110
112
  <span class="cline-any cline-neutral">&nbsp;</span>
111
113
  <span class="cline-any cline-neutral">&nbsp;</span>
112
114
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -187,6 +189,7 @@ export { default as useMap } from "./hooks/useMap";
187
189
  export { default as useWms } from "./hooks/useWms.js";
188
190
  export { default as useSource } from "./hooks/useSource";
189
191
  export { default as useExportMap } from "./hooks/useExportMap";
192
+ export { default as useCameraFollowPath } from "./hooks/useCameraFollowPath/useCameraFollowPath";
190
193
  &nbsp;
191
194
  export { MapComponentsProvider } from "./contexts/MapContext";
192
195
  export { default as MapContext } from "./contexts/MapContext";
@@ -199,7 +202,7 @@ export { default as SimpleDataContext } from "./contexts/SimpleDataContext";
199
202
  <div class='footer quiet pad2 space-top1 center small'>
200
203
  Code coverage generated by
201
204
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
202
- at Fri Nov 04 2022 12:45:22 GMT+0000 (Coordinated Universal Time)
205
+ at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
203
206
  </div>
204
207
  <script src="../prettify.js"></script>
205
208
  <script>
@@ -3811,6 +3811,178 @@ BRF:8
3811
3811
  BRH:0
3812
3812
  end_of_record
3813
3813
  TN:
3814
+ SF:src/hooks/useCameraFollowPath/useCameraFollowPath.tsx
3815
+ FN:40,(anonymous_0)
3816
+ FN:60,(anonymous_1)
3817
+ FN:66,(anonymous_2)
3818
+ FN:73,(anonymous_3)
3819
+ FN:80,(anonymous_4)
3820
+ FN:84,(anonymous_5)
3821
+ FN:94,(anonymous_6)
3822
+ FN:105,centerRoute
3823
+ FN:117,play
3824
+ FN:145,(anonymous_9)
3825
+ FN:160,reset
3826
+ FN:167,(anonymous_11)
3827
+ FN:173,(anonymous_12)
3828
+ FN:174,(anonymous_13)
3829
+ FNF:14
3830
+ FNH:0
3831
+ FNDA:0,(anonymous_0)
3832
+ FNDA:0,(anonymous_1)
3833
+ FNDA:0,(anonymous_2)
3834
+ FNDA:0,(anonymous_3)
3835
+ FNDA:0,(anonymous_4)
3836
+ FNDA:0,(anonymous_5)
3837
+ FNDA:0,(anonymous_6)
3838
+ FNDA:0,centerRoute
3839
+ FNDA:0,play
3840
+ FNDA:0,(anonymous_9)
3841
+ FNDA:0,reset
3842
+ FNDA:0,(anonymous_11)
3843
+ FNDA:0,(anonymous_12)
3844
+ FNDA:0,(anonymous_13)
3845
+ DA:40,10
3846
+ DA:43,0
3847
+ DA:44,0
3848
+ DA:45,0
3849
+ DA:46,0
3850
+ DA:47,0
3851
+ DA:48,0
3852
+ DA:49,0
3853
+ DA:51,0
3854
+ DA:52,0
3855
+ DA:53,0
3856
+ DA:55,0
3857
+ DA:60,0
3858
+ DA:61,0
3859
+ DA:62,0
3860
+ DA:63,0
3861
+ DA:66,0
3862
+ DA:67,0
3863
+ DA:68,0
3864
+ DA:69,0
3865
+ DA:70,0
3866
+ DA:73,0
3867
+ DA:74,0
3868
+ DA:75,0
3869
+ DA:76,0
3870
+ DA:77,0
3871
+ DA:80,0
3872
+ DA:81,0
3873
+ DA:84,0
3874
+ DA:85,0
3875
+ DA:86,0
3876
+ DA:87,0
3877
+ DA:88,0
3878
+ DA:89,0
3879
+ DA:90,0
3880
+ DA:91,0
3881
+ DA:92,0
3882
+ DA:94,0
3883
+ DA:95,0
3884
+ DA:96,0
3885
+ DA:97,0
3886
+ DA:98,0
3887
+ DA:99,0
3888
+ DA:100,0
3889
+ DA:101,0
3890
+ DA:102,0
3891
+ DA:106,0
3892
+ DA:107,0
3893
+ DA:109,0
3894
+ DA:110,0
3895
+ DA:114,0
3896
+ DA:118,0
3897
+ DA:120,0
3898
+ DA:121,0
3899
+ DA:122,0
3900
+ DA:123,0
3901
+ DA:126,0
3902
+ DA:129,0
3903
+ DA:130,0
3904
+ DA:139,0
3905
+ DA:140,0
3906
+ DA:142,0
3907
+ DA:144,0
3908
+ DA:145,0
3909
+ DA:146,0
3910
+ DA:149,0
3911
+ DA:150,0
3912
+ DA:151,0
3913
+ DA:152,0
3914
+ DA:153,0
3915
+ DA:156,0
3916
+ DA:161,0
3917
+ DA:162,0
3918
+ DA:163,0
3919
+ DA:164,0
3920
+ DA:167,0
3921
+ DA:168,0
3922
+ DA:169,0
3923
+ DA:170,0
3924
+ DA:173,0
3925
+ DA:174,0
3926
+ DA:175,0
3927
+ DA:176,0
3928
+ DA:181,0
3929
+ DA:187,10
3930
+ LF:85
3931
+ LH:2
3932
+ BRDA:51,0,0,0
3933
+ BRDA:51,0,1,0
3934
+ BRDA:53,1,0,0
3935
+ BRDA:53,1,1,0
3936
+ BRDA:62,2,0,0
3937
+ BRDA:62,2,1,0
3938
+ BRDA:67,3,0,0
3939
+ BRDA:67,3,1,0
3940
+ BRDA:69,4,0,0
3941
+ BRDA:69,4,1,0
3942
+ BRDA:69,5,0,0
3943
+ BRDA:69,5,1,0
3944
+ BRDA:74,6,0,0
3945
+ BRDA:74,6,1,0
3946
+ BRDA:76,7,0,0
3947
+ BRDA:76,7,1,0
3948
+ BRDA:76,8,0,0
3949
+ BRDA:76,8,1,0
3950
+ BRDA:85,9,0,0
3951
+ BRDA:85,9,1,0
3952
+ BRDA:95,10,0,0
3953
+ BRDA:95,10,1,0
3954
+ BRDA:106,11,0,0
3955
+ BRDA:106,11,1,0
3956
+ BRDA:106,12,0,0
3957
+ BRDA:106,12,1,0
3958
+ BRDA:109,13,0,0
3959
+ BRDA:109,13,1,0
3960
+ BRDA:109,14,0,0
3961
+ BRDA:109,14,1,0
3962
+ BRDA:118,15,0,0
3963
+ BRDA:118,15,1,0
3964
+ BRDA:120,16,0,0
3965
+ BRDA:120,16,1,0
3966
+ BRDA:122,17,0,0
3967
+ BRDA:122,17,1,0
3968
+ BRDA:122,18,0,0
3969
+ BRDA:122,18,1,0
3970
+ BRDA:129,19,0,0
3971
+ BRDA:129,19,1,0
3972
+ BRDA:139,20,0,0
3973
+ BRDA:139,20,1,0
3974
+ BRDA:161,21,0,0
3975
+ BRDA:161,21,1,0
3976
+ BRDA:168,22,0,0
3977
+ BRDA:168,22,1,0
3978
+ BRDA:168,23,0,0
3979
+ BRDA:168,23,1,0
3980
+ BRDA:175,24,0,0
3981
+ BRDA:175,24,1,0
3982
+ BRF:50
3983
+ BRH:0
3984
+ end_of_record
3985
+ TN:
3814
3986
  SF:src/hooks/useExportMap/index.ts
3815
3987
  FN:13,useExportMap
3816
3988
  FN:16,(anonymous_1)
@@ -0,0 +1,35 @@
1
+ interface useCameraFollowPathProps {
2
+ /**
3
+ * Id of the target MapLibre instance in mapContext
4
+ */
5
+ mapId?: string;
6
+ /**
7
+ * Id of an existing layer in the mapLibre instance to help specify the layer order
8
+ * This layer will be visually beneath the layer with the "insertBeforeLayer" id.
9
+ */
10
+ insertBeforeLayer?: string;
11
+ pause?: boolean;
12
+ zoom?: number;
13
+ pitch?: number;
14
+ speed?: number;
15
+ kmPerStep?: number;
16
+ route?: any;
17
+ stepDuration?: number;
18
+ timeoutId?: number;
19
+ }
20
+ export type { useCameraFollowPathProps };
21
+ /**
22
+ * Component template
23
+ *
24
+ */
25
+ declare const useCameraFollowPath: {
26
+ (props: useCameraFollowPathProps): {
27
+ play: () => void;
28
+ reset: () => void;
29
+ };
30
+ defaultProps: {
31
+ mapId: undefined;
32
+ zoom: number;
33
+ };
34
+ };
35
+ export default useCameraFollowPath;
@@ -0,0 +1,17 @@
1
+ declare const storyoptions: {
2
+ title: string;
3
+ component: {
4
+ (props: import("./useCameraFollowPath").useCameraFollowPathProps): {
5
+ play: () => void;
6
+ reset: () => void;
7
+ };
8
+ defaultProps: {
9
+ mapId: undefined;
10
+ zoom: number;
11
+ };
12
+ };
13
+ argTypes: {};
14
+ decorators: ((Story: any) => JSX.Element)[];
15
+ };
16
+ export default storyoptions;
17
+ export declare const ExampleConfig: any;
package/dist/index.d.ts CHANGED
@@ -30,6 +30,7 @@ export { default as useMap } from "./hooks/useMap";
30
30
  export { default as useWms } from "./hooks/useWms.js";
31
31
  export { default as useSource } from "./hooks/useSource";
32
32
  export { default as useExportMap } from "./hooks/useExportMap";
33
+ export { default as useCameraFollowPath } from "./hooks/useCameraFollowPath/useCameraFollowPath";
33
34
  export { MapComponentsProvider } from "./contexts/MapContext";
34
35
  export { default as MapContext } from "./contexts/MapContext";
35
36
  export { default as SimpleDataProvider } from "./contexts/SimpleDataProvider";
package/dist/index.esm.js CHANGED
@@ -19678,6 +19678,157 @@ function useSource(props) {
19678
19678
  };
19679
19679
  }
19680
19680
 
19681
+ /**
19682
+ * Component template
19683
+ *
19684
+ */
19685
+ var useCameraFollowPath = function (props) {
19686
+ // Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks
19687
+ // without the requirement of adding it to the dependency list (ignore the false eslint exhaustive deps warning)
19688
+ var initializedRef = useRef(false);
19689
+ var pause = useRef(props.pause);
19690
+ var zoom = useRef(props.zoom);
19691
+ var pitch = useRef(props.pitch);
19692
+ var step = useRef(1);
19693
+ var speed = useRef(props.speed);
19694
+ var timeoutId = useRef();
19695
+ var kmPerStep = props.kmPerStep || 0.01;
19696
+ var routeDistance = turf.lineDistance(props.route);
19697
+ var stepDuration = props.stepDuration || 70;
19698
+ var mapHook = useMap({
19699
+ mapId: props.mapId,
19700
+ waitForLayer: props.insertBeforeLayer,
19701
+ });
19702
+ useEffect(function () {
19703
+ pause.current = props.pause;
19704
+ if (!pause.current) {
19705
+ play();
19706
+ }
19707
+ }, [props.pause]);
19708
+ useEffect(function () {
19709
+ if (!mapHook.map)
19710
+ return;
19711
+ zoom.current = props.zoom;
19712
+ if (typeof zoom.current !== 'undefined' && mapHook.map.map.getZoom() !== zoom.current) {
19713
+ mapHook.map.map.setZoom(zoom.current);
19714
+ }
19715
+ }, [mapHook.map, props.zoom]);
19716
+ useEffect(function () {
19717
+ if (!mapHook.map)
19718
+ return;
19719
+ pitch.current = props.pitch;
19720
+ if (typeof pitch.current !== 'undefined' && pitch.current !== mapHook.map.map.getPitch()) {
19721
+ mapHook.map.map.setPitch(pitch.current);
19722
+ }
19723
+ }, [mapHook.map, props.pitch]);
19724
+ useEffect(function () {
19725
+ speed.current = props.speed;
19726
+ }, [props.speed]);
19727
+ var disableInteractivity = useCallback(function () {
19728
+ if (!mapHook.map)
19729
+ return;
19730
+ mapHook.map.map['scrollZoom'].disable();
19731
+ mapHook.map.map['boxZoom'].disable();
19732
+ mapHook.map.map['dragRotate'].disable();
19733
+ mapHook.map.map['dragPan'].disable();
19734
+ mapHook.map.map['keyboard'].disable();
19735
+ mapHook.map.map['doubleClickZoom'].disable();
19736
+ mapHook.map.map['touchZoomRotate'].disable();
19737
+ }, [mapHook.map]);
19738
+ var enableInteractivity = useCallback(function () {
19739
+ if (!mapHook.map)
19740
+ return;
19741
+ mapHook.map.map['scrollZoom'].enable();
19742
+ mapHook.map.map['boxZoom'].enable();
19743
+ mapHook.map.map['dragRotate'].enable();
19744
+ mapHook.map.map['dragPan'].enable();
19745
+ mapHook.map.map['keyboard'].enable();
19746
+ mapHook.map.map['doubleClickZoom'].enable();
19747
+ mapHook.map.map['touchZoomRotate'].enable();
19748
+ }, [mapHook.map]);
19749
+ function centerRoute() {
19750
+ if (!mapHook.map || !props.route)
19751
+ return;
19752
+ var bbox = turf.bbox(props.route);
19753
+ var bounds;
19754
+ if (bbox && bbox.length > 3) {
19755
+ bounds = [
19756
+ [bbox[0], bbox[1]],
19757
+ [bbox[2], bbox[3]],
19758
+ ];
19759
+ mapHook.map.map.fitBounds(bounds, { padding: 100 });
19760
+ }
19761
+ }
19762
+ function play() {
19763
+ if (!mapHook.map)
19764
+ return;
19765
+ if (!pause.current) {
19766
+ disableInteractivity();
19767
+ if (typeof zoom.current !== 'undefined' && mapHook.map.map.getZoom() !== zoom.current) {
19768
+ mapHook.map.map.setZoom(zoom.current);
19769
+ }
19770
+ var alongRoutelati = turf.along(props.route, step.current * kmPerStep).geometry
19771
+ .coordinates;
19772
+ if (step.current * kmPerStep < routeDistance) {
19773
+ mapHook.map.map.easeTo({
19774
+ center: alongRoutelati,
19775
+ bearing: turf.bearing(turf.point([mapHook.map.map.getCenter().lng, mapHook.map.map.getCenter().lat]), turf.point(alongRoutelati)),
19776
+ duration: stepDuration,
19777
+ essential: true,
19778
+ });
19779
+ if (typeof speed.current !== 'undefined') {
19780
+ step.current = step.current + speed.current;
19781
+ }
19782
+ else {
19783
+ step.current++;
19784
+ }
19785
+ console.log('PAN MOVE');
19786
+ setTimeout(function () {
19787
+ play();
19788
+ }, 100);
19789
+ }
19790
+ else {
19791
+ mapHook.map.map.setPitch(0);
19792
+ centerRoute();
19793
+ enableInteractivity();
19794
+ console.log('ENABLE CONTROLS');
19795
+ step.current = 1;
19796
+ }
19797
+ }
19798
+ else {
19799
+ enableInteractivity();
19800
+ }
19801
+ }
19802
+ function reset() {
19803
+ if (!mapHook.map)
19804
+ return;
19805
+ centerRoute();
19806
+ enableInteractivity();
19807
+ step.current = 1;
19808
+ }
19809
+ useEffect(function () {
19810
+ if (!mapHook.map || initializedRef.current)
19811
+ return;
19812
+ initializedRef.current = true;
19813
+ centerRoute();
19814
+ }, [mapHook.map]);
19815
+ useEffect(function () {
19816
+ return function () {
19817
+ if (timeoutId.current) {
19818
+ clearTimeout(timeoutId.current);
19819
+ }
19820
+ };
19821
+ }, []);
19822
+ return {
19823
+ play: play,
19824
+ reset: reset,
19825
+ };
19826
+ };
19827
+ useCameraFollowPath.defaultProps = {
19828
+ mapId: undefined,
19829
+ zoom: 18,
19830
+ };
19831
+
19681
19832
  var SimpleDataContext = /*#__PURE__*/React__default.createContext({});
19682
19833
  var SimpleDataContextProvider = SimpleDataContext.Provider;
19683
19834
 
@@ -19740,5 +19891,5 @@ SimpleDataProvider.propTypes = {
19740
19891
  children: PropTypes.node.isRequired
19741
19892
  };
19742
19893
 
19743
- export { GeoJsonContext, GeoJsonProvider, MapComponentsProvider, MapContext, MapLibreMap, MlBasicComponent, MlComponentTemplate, MlCreatePdfButton, MlCreatePdfForm, MlFeatureEditor, MlFillExtrusionLayer, MlFollowGps, MlGPXViewer, MlGeoJsonLayer, MlImageMarkerLayer, MlLayer, MlLayerMagnify, MlLayerSwipe, MlMarker, MlMeasureTool, MlNavigationCompass, MlNavigationTools, MlOsmLayer, MlScaleReference, MlSpatialElevationProfile, MlTransitionGeoJsonLayer, MlVectorTileLayer, MlWmsLayer, SimpleDataContext, SimpleDataProvider, useExportMap, useLayer, useMap, useMapState, useSource, useWms };
19894
+ export { GeoJsonContext, GeoJsonProvider, MapComponentsProvider, MapContext, MapLibreMap, MlBasicComponent, MlComponentTemplate, MlCreatePdfButton, MlCreatePdfForm, MlFeatureEditor, MlFillExtrusionLayer, MlFollowGps, MlGPXViewer, MlGeoJsonLayer, MlImageMarkerLayer, MlLayer, MlLayerMagnify, MlLayerSwipe, MlMarker, MlMeasureTool, MlNavigationCompass, MlNavigationTools, MlOsmLayer, MlScaleReference, MlSpatialElevationProfile, MlTransitionGeoJsonLayer, MlVectorTileLayer, MlWmsLayer, SimpleDataContext, SimpleDataProvider, useCameraFollowPath, useExportMap, useLayer, useMap, useMapState, useSource, useWms };
19744
19895
  //# sourceMappingURL=index.esm.js.map