@panoramax/web-viewer 4.4.0-develop-746bcb00 → 4.4.0-develop-d8b38e70

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 (341) hide show
  1. package/{src → build}/components/core/Basic.js +22 -16
  2. package/{src → build}/components/core/CoverageMap.js +19 -14
  3. package/{src → build}/components/core/Editor.js +16 -16
  4. package/{src → build}/components/core/PhotoViewer.js +30 -29
  5. package/{src → build}/components/core/Viewer.js +21 -20
  6. package/build/components/core/index.js +10 -0
  7. package/build/components/index.js +11 -0
  8. package/build/components/index_photoviewer.js +6 -0
  9. package/{src → build}/components/layout/BottomDrawer.js +4 -4
  10. package/{src → build}/components/layout/CorneredGrid.js +1 -1
  11. package/{src → build}/components/layout/Mini.js +5 -4
  12. package/{src → build}/components/layout/Tabs.js +1 -1
  13. package/build/components/layout/index.js +9 -0
  14. package/{src → build}/components/menus/LocationPrecisionDoc.js +4 -6
  15. package/{src → build}/components/menus/MapBackground.js +4 -6
  16. package/{src → build}/components/menus/MapFilters.js +16 -21
  17. package/{src → build}/components/menus/MapLayers.js +20 -24
  18. package/{src → build}/components/menus/MapLegend.js +3 -4
  19. package/{src → build}/components/menus/MiniPictureLegend.js +3 -4
  20. package/{src → build}/components/menus/PictureLegend.js +10 -15
  21. package/{src → build}/components/menus/PictureMetadata.js +12 -19
  22. package/{src → build}/components/menus/PlayerOptions.js +5 -7
  23. package/{src → build}/components/menus/QualityScoreDoc.js +3 -4
  24. package/{src → build}/components/menus/ReportForm.js +8 -9
  25. package/{src → build}/components/menus/SemanticsDoc.js +3 -4
  26. package/{src → build}/components/menus/SemanticsDownload.js +3 -3
  27. package/{src → build}/components/menus/SemanticsFilters.js +7 -8
  28. package/{src → build}/components/menus/SemanticsList.js +11 -18
  29. package/{src → build}/components/menus/SemanticsMetadata.js +8 -11
  30. package/{src → build}/components/menus/Share.js +6 -7
  31. package/build/components/menus/index.js +22 -0
  32. package/build/components/menus/index_photoviewer.js +11 -0
  33. package/{src → build}/components/styles.js +0 -2
  34. package/{src → build}/components/ui/AnnotationsSwitch.js +6 -8
  35. package/{src → build}/components/ui/Button.js +1 -1
  36. package/{src → build}/components/ui/ButtonGroup.js +2 -1
  37. package/{src → build}/components/ui/CopyButton.js +4 -6
  38. package/{src → build}/components/ui/Grade.js +5 -5
  39. package/{src → build}/components/ui/GradeFilter.js +3 -3
  40. package/{src → build}/components/ui/IconSwitch.js +1 -1
  41. package/{src → build}/components/ui/LinkButton.js +1 -1
  42. package/{src → build}/components/ui/ListGroup.js +3 -3
  43. package/{src → build}/components/ui/ListItem.js +1 -1
  44. package/{src → build}/components/ui/Loader.js +8 -7
  45. package/{src → build}/components/ui/Map.js +38 -26
  46. package/{src → build}/components/ui/MapMore.js +7 -7
  47. package/{src → build}/components/ui/Photo.js +29 -27
  48. package/{src → build}/components/ui/Popup.js +4 -4
  49. package/{src → build}/components/ui/QualityScore.js +4 -4
  50. package/{src → build}/components/ui/SearchBar.js +6 -7
  51. package/{src → build}/components/ui/SemanticsEditor.js +14 -15
  52. package/{src → build}/components/ui/SemanticsTable.js +4 -5
  53. package/{src → build}/components/ui/Switch.js +1 -1
  54. package/{src → build}/components/ui/TogglableGroup.js +4 -4
  55. package/build/components/ui/index.js +29 -0
  56. package/build/components/ui/index_photoviewer.js +21 -0
  57. package/{src → build}/components/ui/widgets/CopyCoordinates.js +5 -5
  58. package/{src → build}/components/ui/widgets/GeoSearch.js +10 -10
  59. package/{src → build}/components/ui/widgets/Legend.js +9 -8
  60. package/{src → build}/components/ui/widgets/LevelSelect.js +9 -7
  61. package/{src → build}/components/ui/widgets/MapFiltersButton.js +5 -5
  62. package/{src → build}/components/ui/widgets/MapLayersButton.js +5 -5
  63. package/{src → build}/components/ui/widgets/OSMEditors.js +8 -8
  64. package/{src → build}/components/ui/widgets/PictureLegendActions.js +4 -4
  65. package/{src → build}/components/ui/widgets/Player.js +6 -7
  66. package/{src → build}/components/ui/widgets/SemanticsFiltersButton.js +6 -7
  67. package/{src → build}/components/ui/widgets/Zoom.js +6 -6
  68. package/build/components/ui/widgets/index.js +16 -0
  69. package/build/components/ui/widgets/index_photoviewer.js +7 -0
  70. package/build/editor.html +94 -10
  71. package/{src → build}/img/arrow_triangle.svg +0 -1
  72. package/{src → build}/img/arrow_turn.svg +0 -1
  73. package/build/index.html +111 -1
  74. package/build/index.js +6 -95
  75. package/build/index_photoviewer.js +4 -0
  76. package/build/map.html +97 -1
  77. package/build/package.json +141 -0
  78. package/build/photo.html +85 -1
  79. package/build/servers.js +3 -4
  80. package/{src → build}/translations/pt.json +7 -2
  81. package/{src → build}/utils/API.js +33 -33
  82. package/{src → build}/utils/InitParameters.js +11 -9
  83. package/{src → build}/utils/MapStyleComposer.js +39 -37
  84. package/{src → build}/utils/PhotoAdapter.js +1 -0
  85. package/{src → build}/utils/PresetsManager.js +4 -4
  86. package/{src → build}/utils/SemanticsMapProtocol.js +3 -4
  87. package/{src → build}/utils/URLHandler.js +16 -14
  88. package/{src → build}/utils/geocoder.js +5 -5
  89. package/{src → build}/utils/i18n.js +21 -20
  90. package/build/utils/index.js +17 -0
  91. package/build/utils/index_photoviewer.js +14 -0
  92. package/{src → build}/utils/indoor.js +9 -5
  93. package/{src → build}/utils/map.js +15 -11
  94. package/{src → build}/utils/picture.js +22 -17
  95. package/{src → build}/utils/semantics.js +9 -5
  96. package/{src → build}/utils/utils.js +8 -4
  97. package/{src → build}/utils/widgets.js +2 -2
  98. package/build/viewer.html +120 -35
  99. package/build/viewer_indoor.html +90 -8
  100. package/build/widgets.html +410 -1
  101. package/package.json +81 -204
  102. package/.dockerignore +0 -7
  103. package/.gitlab-ci.yml +0 -78
  104. package/CHANGELOG.md +0 -853
  105. package/CODE_OF_CONDUCT.md +0 -134
  106. package/Dockerfile +0 -14
  107. package/build/index.css +0 -36
  108. package/build/index.css.map +0 -1
  109. package/build/index.js.map +0 -1
  110. package/build/photoviewer.css +0 -36
  111. package/build/photoviewer.css.map +0 -1
  112. package/build/photoviewer.js +0 -86
  113. package/build/photoviewer.js.map +0 -1
  114. package/build/static/media/atkinson-hyperlegible-next-latin-400-normal..woff +0 -0
  115. package/build/static/media/atkinson-hyperlegible-next-latin-400-normal..woff2 +0 -0
  116. package/build/static/media/atkinson-hyperlegible-next-latin-ext-400-normal..woff +0 -0
  117. package/build/static/media/atkinson-hyperlegible-next-latin-ext-400-normal..woff2 +0 -0
  118. package/config/env.js +0 -104
  119. package/config/getHttpsConfig.js +0 -69
  120. package/config/getPackageJson.js +0 -25
  121. package/config/jest/babelTransform.js +0 -29
  122. package/config/jest/cssTransform.js +0 -14
  123. package/config/jest/fileTransform.js +0 -40
  124. package/config/jest/mocks.js +0 -230
  125. package/config/modules.js +0 -134
  126. package/config/paths.js +0 -76
  127. package/config/pnpTs.js +0 -35
  128. package/config/webpack/persistentCache/createEnvironmentHash.js +0 -9
  129. package/config/webpack.config.js +0 -825
  130. package/config/webpackDevServer.config.js +0 -131
  131. package/docs/03_URL_settings.md +0 -218
  132. package/docs/05_Compatibility.md +0 -83
  133. package/docs/09_Develop.md +0 -141
  134. package/docs/90_Releases.md +0 -27
  135. package/docs/images/class_diagram.drawio +0 -144
  136. package/docs/images/class_diagram.jpg +0 -0
  137. package/docs/images/comparative_3drender.jpg +0 -0
  138. package/docs/images/indoor_level.png +0 -0
  139. package/docs/images/screenshot.jpg +0 -0
  140. package/docs/index.md +0 -159
  141. package/docs/reference/components/core/Basic.md +0 -211
  142. package/docs/reference/components/core/CoverageMap.md +0 -220
  143. package/docs/reference/components/core/Editor.md +0 -252
  144. package/docs/reference/components/core/PhotoViewer.md +0 -320
  145. package/docs/reference/components/core/Viewer.md +0 -398
  146. package/docs/reference/components/layout/BottomDrawer.md +0 -35
  147. package/docs/reference/components/layout/CorneredGrid.md +0 -29
  148. package/docs/reference/components/layout/Mini.md +0 -45
  149. package/docs/reference/components/layout/Tabs.md +0 -46
  150. package/docs/reference/components/menus/LocationPrecisionDoc.md +0 -15
  151. package/docs/reference/components/menus/MapBackground.md +0 -32
  152. package/docs/reference/components/menus/MapFilters.md +0 -37
  153. package/docs/reference/components/menus/MapLayers.md +0 -15
  154. package/docs/reference/components/menus/MapLegend.md +0 -32
  155. package/docs/reference/components/menus/MiniPictureLegend.md +0 -15
  156. package/docs/reference/components/menus/PictureLegend.md +0 -45
  157. package/docs/reference/components/menus/PictureMetadata.md +0 -32
  158. package/docs/reference/components/menus/PlayerOptions.md +0 -15
  159. package/docs/reference/components/menus/QualityScoreDoc.md +0 -15
  160. package/docs/reference/components/menus/ReportForm.md +0 -15
  161. package/docs/reference/components/menus/SemanticsDoc.md +0 -15
  162. package/docs/reference/components/menus/SemanticsDownload.md +0 -15
  163. package/docs/reference/components/menus/SemanticsFilters.md +0 -33
  164. package/docs/reference/components/menus/SemanticsList.md +0 -97
  165. package/docs/reference/components/menus/SemanticsMetadata.md +0 -15
  166. package/docs/reference/components/menus/ShareMenu.md +0 -32
  167. package/docs/reference/components/ui/AnnotationsSwitch.md +0 -32
  168. package/docs/reference/components/ui/Button.md +0 -40
  169. package/docs/reference/components/ui/ButtonGroup.md +0 -36
  170. package/docs/reference/components/ui/CopyButton.md +0 -41
  171. package/docs/reference/components/ui/Grade.md +0 -32
  172. package/docs/reference/components/ui/GradeFilter.md +0 -42
  173. package/docs/reference/components/ui/IconSwitch.md +0 -53
  174. package/docs/reference/components/ui/LinkButton.md +0 -45
  175. package/docs/reference/components/ui/ListGroup.md +0 -22
  176. package/docs/reference/components/ui/ListItem.md +0 -39
  177. package/docs/reference/components/ui/Loader.md +0 -56
  178. package/docs/reference/components/ui/Map.md +0 -150
  179. package/docs/reference/components/ui/MapMore.md +0 -150
  180. package/docs/reference/components/ui/Photo.md +0 -495
  181. package/docs/reference/components/ui/Popup.md +0 -56
  182. package/docs/reference/components/ui/ProgressBar.md +0 -32
  183. package/docs/reference/components/ui/QualityScore.md +0 -45
  184. package/docs/reference/components/ui/SearchBar.md +0 -63
  185. package/docs/reference/components/ui/SemanticsEditor.md +0 -113
  186. package/docs/reference/components/ui/SemanticsTable.md +0 -32
  187. package/docs/reference/components/ui/Switch.md +0 -49
  188. package/docs/reference/components/ui/TogglableGroup.md +0 -39
  189. package/docs/reference/components/ui/widgets/CopyCoordinates.md +0 -32
  190. package/docs/reference/components/ui/widgets/GeoSearch.md +0 -36
  191. package/docs/reference/components/ui/widgets/Legend.md +0 -58
  192. package/docs/reference/components/ui/widgets/LevelSelect.md +0 -16
  193. package/docs/reference/components/ui/widgets/MapFiltersButton.md +0 -37
  194. package/docs/reference/components/ui/widgets/MapLayersButton.md +0 -15
  195. package/docs/reference/components/ui/widgets/OSMEditors.md +0 -15
  196. package/docs/reference/components/ui/widgets/PictureLegendActions.md +0 -32
  197. package/docs/reference/components/ui/widgets/Player.md +0 -34
  198. package/docs/reference/components/ui/widgets/SemanticsFiltersButton.md +0 -15
  199. package/docs/reference/components/ui/widgets/Zoom.md +0 -15
  200. package/docs/reference/utils/API.md +0 -389
  201. package/docs/reference/utils/InitParameters.md +0 -68
  202. package/docs/reference/utils/MapStyleComposer.md +0 -408
  203. package/docs/reference/utils/PanoraMapProtocol.md +0 -28
  204. package/docs/reference/utils/PresetsManager.md +0 -43
  205. package/docs/reference/utils/SemanticsMapProtocol.md +0 -43
  206. package/docs/reference/utils/URLHandler.md +0 -114
  207. package/docs/reference.md +0 -99
  208. package/docs/shortcuts.md +0 -11
  209. package/docs/tutorials/aerial_imagery.md +0 -21
  210. package/docs/tutorials/authentication.md +0 -10
  211. package/docs/tutorials/custom_widgets.md +0 -59
  212. package/docs/tutorials/indoor_maps.md +0 -50
  213. package/docs/tutorials/map_style.md +0 -83
  214. package/docs/tutorials/migrate_v4.md +0 -153
  215. package/docs/tutorials/migrate_v5.md +0 -103
  216. package/docs/tutorials/semantics_overlays.md +0 -74
  217. package/docs/tutorials/synced_coverage.md +0 -43
  218. package/mkdocs.yml +0 -131
  219. package/public/editor.html +0 -53
  220. package/public/index.html +0 -70
  221. package/public/map.html +0 -55
  222. package/public/photo.html +0 -43
  223. package/public/servers.js +0 -15
  224. package/public/viewer.html +0 -79
  225. package/public/viewer_indoor.html +0 -48
  226. package/public/widgets.html +0 -366
  227. package/scripts/build.js +0 -217
  228. package/scripts/doc.js +0 -79
  229. package/scripts/start.js +0 -172
  230. package/scripts/test.js +0 -52
  231. package/src/components/core/index.js +0 -12
  232. package/src/components/index.js +0 -13
  233. package/src/components/index_photoviewer.js +0 -8
  234. package/src/components/layout/index.js +0 -9
  235. package/src/components/menus/index.js +0 -22
  236. package/src/components/menus/index_photoviewer.js +0 -13
  237. package/src/components/ui/index.js +0 -29
  238. package/src/components/ui/index_photoviewer.js +0 -23
  239. package/src/components/ui/widgets/index.js +0 -16
  240. package/src/components/ui/widgets/index_photoviewer.js +0 -9
  241. package/src/index.js +0 -8
  242. package/src/index_photoviewer.js +0 -6
  243. package/src/utils/index.js +0 -17
  244. package/src/utils/index_photoviewer.js +0 -16
  245. package/tests/components/core/Basic.test.js +0 -168
  246. package/tests/components/core/BasicMock.js +0 -25
  247. package/tests/components/core/CoverageMap.test.js +0 -20
  248. package/tests/components/core/Editor.test.js +0 -20
  249. package/tests/components/core/PhotoViewer.test.js +0 -57
  250. package/tests/components/core/Viewer.test.js +0 -85
  251. package/tests/components/core/__snapshots__/PhotoViewer.test.js.snap +0 -96
  252. package/tests/components/core/__snapshots__/Viewer.test.js.snap +0 -188
  253. package/tests/components/ui/CopyButton.test.js +0 -52
  254. package/tests/components/ui/Loader.test.js +0 -55
  255. package/tests/components/ui/Map.test.js +0 -145
  256. package/tests/components/ui/Photo.test.js +0 -437
  257. package/tests/components/ui/Popup.test.js +0 -26
  258. package/tests/components/ui/QualityScore.test.js +0 -18
  259. package/tests/components/ui/SearchBar.test.js +0 -110
  260. package/tests/components/ui/__snapshots__/CopyButton.test.js.snap +0 -33
  261. package/tests/components/ui/__snapshots__/Loader.test.js.snap +0 -56
  262. package/tests/components/ui/__snapshots__/Map.test.js.snap +0 -16
  263. package/tests/components/ui/__snapshots__/Photo.test.js.snap +0 -263
  264. package/tests/components/ui/__snapshots__/Popup.test.js.snap +0 -29
  265. package/tests/components/ui/__snapshots__/QualityScore.test.js.snap +0 -11
  266. package/tests/components/ui/__snapshots__/SearchBar.test.js.snap +0 -65
  267. package/tests/data/Map_geocoder_ban.json +0 -36
  268. package/tests/data/Map_geocoder_nominatim.json +0 -41
  269. package/tests/data/Viewer_pictures_1.json +0 -148
  270. package/tests/setupTests.js +0 -5
  271. package/tests/utils/API.test.js +0 -752
  272. package/tests/utils/InitParameters.test.js +0 -599
  273. package/tests/utils/MapStyleComposer.test.js +0 -697
  274. package/tests/utils/PresetsManager.test.js +0 -123
  275. package/tests/utils/URLHandler.test.js +0 -587
  276. package/tests/utils/__snapshots__/API.test.js.snap +0 -40
  277. package/tests/utils/__snapshots__/MapStyleComposer.test.js.snap +0 -767
  278. package/tests/utils/__snapshots__/URLHandler.test.js.snap +0 -21
  279. package/tests/utils/__snapshots__/geocoder.test.js.snap +0 -37
  280. package/tests/utils/__snapshots__/map.test.js.snap +0 -1249
  281. package/tests/utils/__snapshots__/picture.test.js.snap +0 -327
  282. package/tests/utils/__snapshots__/widgets.test.js.snap +0 -19
  283. package/tests/utils/geocoder.test.js +0 -37
  284. package/tests/utils/i18n.test.js +0 -111
  285. package/tests/utils/map.test.js +0 -200
  286. package/tests/utils/picture.test.js +0 -745
  287. package/tests/utils/semantics.test.js +0 -174
  288. package/tests/utils/utils.test.js +0 -358
  289. package/tests/utils/widgets.test.js +0 -31
  290. /package/{src → build}/components/core/Basic.css +0 -0
  291. /package/{src → build}/components/core/CoverageMap.css +0 -0
  292. /package/{src → build}/components/core/Editor.css +0 -0
  293. /package/{src → build}/components/core/PhotoViewer.css +0 -0
  294. /package/{src → build}/components/core/Viewer.css +0 -0
  295. /package/{src → build}/components/ui/ButtonGroup.css +0 -0
  296. /package/{src → build}/components/ui/Map.css +0 -0
  297. /package/{src → build}/components/ui/Photo.css +0 -0
  298. /package/{src → build}/components/ui/ProgressBar.js +0 -0
  299. /package/{src → build}/components/ui/widgets/GeoSearch.css +0 -0
  300. /package/{src → build}/components/ui/widgets/LevelSelect.css +0 -0
  301. /package/{src → build}/components/ui/widgets/Player.css +0 -0
  302. /package/{public → build}/favicon.ico +0 -0
  303. /package/{src → build}/img/arrow_360.svg +0 -0
  304. /package/{src → build}/img/arrow_flat.svg +0 -0
  305. /package/{src → build}/img/bg_aerial.jpg +0 -0
  306. /package/{src → build}/img/bg_streets.jpg +0 -0
  307. /package/{src → build}/img/loader_base.jpg +0 -0
  308. /package/{src → build}/img/logo_dead.svg +0 -0
  309. /package/{src → build}/img/marker.svg +0 -0
  310. /package/{src → build}/img/marker_blue.svg +0 -0
  311. /package/{src → build}/img/osm.svg +0 -0
  312. /package/{src → build}/img/panoramax.svg +0 -0
  313. /package/{src → build}/img/switch_big.svg +0 -0
  314. /package/{src → build}/img/switch_mini.svg +0 -0
  315. /package/{src → build}/img/wd.svg +0 -0
  316. /package/{src → build}/translations/ar.json +0 -0
  317. /package/{src → build}/translations/be.json +0 -0
  318. /package/{src → build}/translations/br.json +0 -0
  319. /package/{src → build}/translations/cy.json +0 -0
  320. /package/{src → build}/translations/da.json +0 -0
  321. /package/{src → build}/translations/de.json +0 -0
  322. /package/{src → build}/translations/en.json +0 -0
  323. /package/{src → build}/translations/eo.json +0 -0
  324. /package/{src → build}/translations/es.json +0 -0
  325. /package/{src → build}/translations/fi.json +0 -0
  326. /package/{src → build}/translations/fr.json +0 -0
  327. /package/{src → build}/translations/hu.json +0 -0
  328. /package/{src → build}/translations/it.json +0 -0
  329. /package/{src → build}/translations/ja.json +0 -0
  330. /package/{src → build}/translations/ko.json +0 -0
  331. /package/{src → build}/translations/nl.json +0 -0
  332. /package/{src → build}/translations/nn.json +0 -0
  333. /package/{src → build}/translations/pl.json +0 -0
  334. /package/{src → build}/translations/pt_BR.json +0 -0
  335. /package/{src → build}/translations/sv.json +0 -0
  336. /package/{src → build}/translations/ti.json +0 -0
  337. /package/{src → build}/translations/tr.json +0 -0
  338. /package/{src → build}/translations/uk.json +0 -0
  339. /package/{src → build}/translations/zh_Hant.json +0 -0
  340. /package/{src → build}/utils/PanoraMapProtocol.js +0 -0
  341. /package/{src → build}/utils/services.js +0 -0
@@ -1,74 +0,0 @@
1
- # Add custom semantics overlays
2
-
3
- You can take profit of [Panoramax Tags](https://docs.panoramax.fr/tags/) in your own web viewer using _Semantics overlays_. They allow to display pictures having specific tags directly over the map, like traffic signs overlay.
4
-
5
- This can be done after viewer initial load:
6
-
7
- ```js
8
- var viewer = document.getElementById("viewer");
9
-
10
- viewer.onceMapReady().then(() => {
11
- viewer.map.addSemanticOverlay(
12
- // Overlay ID, used by MapLibre and for URL
13
- "animals",
14
-
15
- // API semantics filter
16
- "\"semantics.osm|traffic_sign\"='FR:A15b'",
17
-
18
- // MapLibre layer style, with custom metadata for viewer widget
19
- {
20
- metadata: { "name": "Wild animals" },
21
- type: "circle",
22
- paint: {
23
- "circle-color": "blue"
24
- }
25
- }
26
- );
27
- });
28
- ```
29
-
30
- You can have any kind of complex MapLibre style rendering, including sprites. For example, that's how we manage the traffic signs overlay:
31
-
32
- ```js
33
- var viewer = document.getElementById("viewer");
34
-
35
- viewer.onceMapReady().then(() => {
36
- viewer.map.addSemanticOverlay(
37
- // Overlay ID, used by MapLibre and for URL
38
- "tfsigns",
39
-
40
- // API semantics filter
41
- "\"semantics.osm|traffic_sign\" IS NOT NULL",
42
-
43
- // MapLibre layer style, with custom metadata for viewer widget
44
- {
45
- metadata: { "name": "Traffic signs" },
46
- type: "symbol",
47
- layout: {
48
- // Define initial visibility
49
- visibility: "none",
50
- "icon-overlap": "never",
51
- // Icon based on sprite defined below, with conditional rendering
52
- "icon-image": ["case",
53
- // Many signs
54
- ["in", ";", ["get", "osm|traffic_sign"]],
55
- "pnx-tfsigns-fr:0_many",
56
- // Single FR sign
57
- ["==", ["slice", ["get", "osm|traffic_sign"], 0, 2], "FR"],
58
- ["concat", "pnx-tfsigns-fr:", ["slice", ["get", "osm|traffic_sign"], 3]],
59
- // Generic value
60
- ["==", ["get", "osm|traffic_sign"], "yes"],
61
- "pnx-tfsigns-fr:0_unknown",
62
- // Fallbacks
63
- ["has", "osm|traffic_sign"],
64
- "pnx-tfsigns-fr:0_unknown",
65
- ""
66
- ]
67
- }
68
- },
69
-
70
- // Required sprites, you can even define many if necessary
71
- { "pnx-tfsigns-fr": "https://presets.panoramax.fr/sprites/trafficsigns_fr" }
72
- );
73
- });
74
- ```
@@ -1,43 +0,0 @@
1
- # Coverage map synced with external component
2
-
3
- Let's say you want to list all sequences of an user. You can display a standalone map which can be synced with your custom list. Create your _Coverage Map_ web component:
4
-
5
- ```html
6
- <pnx-coverage-map
7
- id="coverage"
8
- class="fullpage"
9
- endpoint="https://api.panoramax.xyz/api"
10
- />
11
- ```
12
-
13
- Then, access it through JavaScript for further interaction:
14
-
15
- ```js
16
- // Retrieve component from DOM
17
- var coverage = document.getElementById("coverage");
18
-
19
- // Wait for map initial load
20
- coverage.addEventListener("ready", () => {
21
- // Change visible map area
22
- coverage.map.fitBounds([0, 0, 180, 90]);
23
-
24
- // Listen to sequence hovered on map
25
- // You can alternatively use: coverage.addEventListener("map:sequence-hover", ...)
26
- coverage.map.on("sequence-hover", e => {
27
- console.log("Hovered sequence", e.seqId);
28
- });
29
-
30
- // Listen to user clicks on map
31
- coverage.addEventListener("select", e => {
32
- console.log("Selected sequence", e.detail.seqId, "picture", e.detail.picId);
33
- });
34
-
35
- // You can also programmatically change selection on map
36
- coverage.select(
37
- "c463d190-06b0-47fb-98a8-b4a775a39ad6", // A sequence ID
38
- "bdea1eb4-4496-46da-a4d5-b22b16e75fa8" // A picture ID (can be null if unknown)
39
- );
40
- }, {once: true});
41
- ```
42
-
43
- All available interaction are listed in [Coverage Map reference](../reference/components/core/CoverageMap.md).
package/mkdocs.yml DELETED
@@ -1,131 +0,0 @@
1
- site_name: 'Panoramax - Web viewer'
2
- site_url: https://docs.panoramax.fr
3
-
4
- theme:
5
- name: material
6
- logo: https://gitlab.com/panoramax/gitlab-profile/-/raw/main/images/panoramax_favicon.svg
7
- features:
8
- - navigation.footer
9
- - navigation.tracking
10
- - navigation.sections
11
- - search.suggest
12
- - search.share
13
- - content.code.annotate
14
- - content.code.copy
15
- - content.code.select
16
-
17
- plugins:
18
- - search
19
-
20
- markdown_extensions:
21
- - admonition
22
- - pymdownx.superfences
23
- - pymdownx.details
24
- - pymdownx.tabbed:
25
- alternate_style: true
26
- - pymdownx.highlight:
27
- anchor_linenums: true
28
- line_spans: __span
29
- pygments_lang_class: true
30
- - pymdownx.inlinehilite
31
- - pymdownx.snippets
32
- - attr_list
33
- - pymdownx.emoji:
34
- emoji_index: !!python/name:material.extensions.emoji.twemoji
35
- emoji_generator: !!python/name:material.extensions.emoji.to_svg
36
-
37
- nav:
38
- - 'Quick start': 'index.md'
39
- - 'Migrating':
40
- - 'v4 to v5': 'tutorials/migrate_v5.md'
41
- - 'v3 to v4': 'tutorials/migrate_v4.md'
42
- - Tips:
43
- - 'URL settings': '03_URL_settings.md'
44
- - Shortcuts: 'shortcuts.md'
45
- - Tutorials:
46
- - 'Change map style': 'tutorials/map_style.md'
47
- - 'Add aerial imagery': 'tutorials/aerial_imagery.md'
48
- - 'Server authentication': 'tutorials/authentication.md'
49
- - 'Custom widgets': 'tutorials/custom_widgets.md'
50
- - 'Synced coverage map': 'tutorials/synced_coverage.md'
51
- - 'Semantics overlays': 'tutorials/semantics_overlays.md'
52
- - 'Indoor maps': 'tutorials/indoor_maps.md'
53
- - Develop:
54
- - 'Where to start': '09_Develop.md'
55
- - 'STAC API compatibility': '05_Compatibility.md'
56
- - 'Make a release': '90_Releases.md'
57
- - 'API reference':
58
- - Overview: 'reference.md'
59
- - components:
60
- - core:
61
- - Basic: 'reference/components/core/Basic.md'
62
- - CoverageMap: 'reference/components/core/CoverageMap.md'
63
- - Editor: 'reference/components/core/Editor.md'
64
- - PhotoViewer: 'reference/components/core/PhotoViewer.md'
65
- - Viewer: 'reference/components/core/Viewer.md'
66
- - layout:
67
- - BottomDrawer: 'reference/components/layout/BottomDrawer.md'
68
- - CorneredGrid: 'reference/components/layout/CorneredGrid.md'
69
- - Mini: 'reference/components/layout/Mini.md'
70
- - Tabs: 'reference/components/layout/Tabs.md'
71
- - menus:
72
- - LocationPrecisionDoc: 'reference/components/menus/LocationPrecisionDoc.md'
73
- - MapBackground: 'reference/components/menus/MapBackground.md'
74
- - MapFilters: 'reference/components/menus/MapFilters.md'
75
- - MapLayers: 'reference/components/menus/MapLayers.md'
76
- - MapLegend: 'reference/components/menus/MapLegend.md'
77
- - MiniPictureLegend: 'reference/components/menus/MiniPictureLegend.md'
78
- - PictureLegend: 'reference/components/menus/PictureLegend.md'
79
- - PictureMetadata: 'reference/components/menus/PictureMetadata.md'
80
- - PlayerOptions: 'reference/components/menus/PlayerOptions.md'
81
- - QualityScoreDoc: 'reference/components/menus/QualityScoreDoc.md'
82
- - ReportForm: 'reference/components/menus/ReportForm.md'
83
- - SemanticsDoc: 'reference/components/menus/SemanticsDoc.md'
84
- - SemanticsDownload: 'reference/components/menus/SemanticsDownload.md'
85
- - SemanticsFilters: 'reference/components/menus/SemanticsFilters.md'
86
- - SemanticsList: 'reference/components/menus/SemanticsList.md'
87
- - SemanticsMetadata: 'reference/components/menus/SemanticsMetadata.md'
88
- - ShareMenu: 'reference/components/menus/ShareMenu.md'
89
- - ui:
90
- - widgets:
91
- - CopyCoordinates: 'reference/components/ui/widgets/CopyCoordinates.md'
92
- - GeoSearch: 'reference/components/ui/widgets/GeoSearch.md'
93
- - Legend: 'reference/components/ui/widgets/Legend.md'
94
- - LevelSelect: 'reference/components/ui/widgets/LevelSelect.md'
95
- - MapFiltersButton: 'reference/components/ui/widgets/MapFiltersButton.md'
96
- - MapLayersButton: 'reference/components/ui/widgets/MapLayersButton.md'
97
- - OSMEditors: 'reference/components/ui/widgets/OSMEditors.md'
98
- - PictureLegendActions: 'reference/components/ui/widgets/PictureLegendActions.md'
99
- - Player: 'reference/components/ui/widgets/Player.md'
100
- - SemanticsFiltersButton: 'reference/components/ui/widgets/SemanticsFiltersButton.md'
101
- - Zoom: 'reference/components/ui/widgets/Zoom.md'
102
- - AnnotationsSwitch: 'reference/components/ui/AnnotationsSwitch.md'
103
- - Button: 'reference/components/ui/Button.md'
104
- - ButtonGroup: 'reference/components/ui/ButtonGroup.md'
105
- - CopyButton: 'reference/components/ui/CopyButton.md'
106
- - Grade: 'reference/components/ui/Grade.md'
107
- - GradeFilter: 'reference/components/ui/GradeFilter.md'
108
- - IconSwitch: 'reference/components/ui/IconSwitch.md'
109
- - LinkButton: 'reference/components/ui/LinkButton.md'
110
- - ListGroup: 'reference/components/ui/ListGroup.md'
111
- - ListItem: 'reference/components/ui/ListItem.md'
112
- - Loader: 'reference/components/ui/Loader.md'
113
- - Map: 'reference/components/ui/Map.md'
114
- - MapMore: 'reference/components/ui/MapMore.md'
115
- - Photo: 'reference/components/ui/Photo.md'
116
- - Popup: 'reference/components/ui/Popup.md'
117
- - ProgressBar: 'reference/components/ui/ProgressBar.md'
118
- - QualityScore: 'reference/components/ui/QualityScore.md'
119
- - SearchBar: 'reference/components/ui/SearchBar.md'
120
- - SemanticsEditor: 'reference/components/ui/SemanticsEditor.md'
121
- - SemanticsTable: 'reference/components/ui/SemanticsTable.md'
122
- - Switch: 'reference/components/ui/Switch.md'
123
- - TogglableGroup: 'reference/components/ui/TogglableGroup.md'
124
- - utils:
125
- - API: 'reference/utils/API.md'
126
- - InitParameters: 'reference/utils/InitParameters.md'
127
- - MapStyleComposer: 'reference/utils/MapStyleComposer.md'
128
- - PanoraMapProtocol: 'reference/utils/PanoraMapProtocol.md'
129
- - PresetsManager: 'reference/utils/PresetsManager.md'
130
- - URLHandler: 'reference/utils/URLHandler.md'
131
- - SemanticsMapProtocol: 'reference/utils/SemanticsMapProtocol.md'
@@ -1,53 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
6
- <title>Panoramax Editor</title>
7
- <style>
8
- #editor {
9
- position: relative;
10
- width: 95%;
11
- margin: 2.5%;
12
- height: 400px;
13
- }
14
- #editor.fullpage {
15
- position: fixed;
16
- inset: 0;
17
- height: unset;
18
- width: unset;
19
- margin: 0;
20
- }
21
- </style>
22
- </head>
23
- <body>
24
- <noscript>
25
- You need to enable JavaScript to run this app.
26
- </noscript>
27
-
28
- <pnx-editor
29
- id="editor"
30
- class="fullpage"
31
- sequence="ecfe4b2c-0acd-4d3a-a10d-c3e6818755c8"
32
- picture="329af5c6-4761-4a6d-9c1e-674fd6daa8b6"
33
- background="aerial"
34
- raster='{
35
- type: "raster",
36
- tiles: [
37
- "https://data.geopf.fr/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=ORTHOIMAGERY.ORTHOPHOTOS&STYLE=normal&FORMAT=image/jpeg&TILEMATRIXSET=PM_0_19&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}"
38
- ],
39
- minzoom: 0,
40
- maxzoom: 19,
41
- attribution: "&copy; IGN",
42
- tileSize: 256
43
- }'
44
- ></pnx-editor>
45
-
46
- <script src="./servers.js"></script>
47
- <script>
48
- var editor = document.getElementById("editor");
49
- editor.setAttribute("endpoint", server);
50
- </script>
51
-
52
- </body>
53
- </html>
package/public/index.html DELETED
@@ -1,70 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
6
- <title>Panoramax JS Library</title>
7
- <style>
8
- body {
9
- font-family: sans-serif;
10
- text-align: center;
11
- }
12
- .allViews {
13
- display: flex;
14
- flex-wrap: wrap;
15
- justify-content: space-around;
16
- align-items: flex-start;
17
- gap: 10px;
18
- }
19
- .oneView {
20
- text-align: center;
21
- flex: 1;
22
- min-width: 400px;
23
- }
24
- iframe {
25
- width: 100%;
26
- height: 300px;
27
- border: none;
28
- }
29
- </style>
30
- </head>
31
- <body>
32
- <noscript>
33
- You need to enable JavaScript to run this app.
34
- </noscript>
35
- <h1>Panoramax JavaScript Client</h1>
36
- <p>Panoramax JS library offers different views to suit your needs.<br />You can also give a look at the <a href="./widgets.html">widgets test page</a>.</p>
37
-
38
- <div class="allViews">
39
- <div class="oneView">
40
- <h2>Viewer</h2>
41
- <p>General-purpose map and picture display.<br /><a href="./viewer.html">Full page</a> | <a href="https://viewer.geovisio.fr/docs/reference/components/core/Viewer/">Docs</a></p>
42
- <iframe src="./viewer.html"></iframe>
43
- </div>
44
-
45
- <div class="oneView">
46
- <h2>Photo Viewer</h2>
47
- <p>Picture-only display.<br /><a href="./photo.html">Full page</a> | <a href="https://viewer.geovisio.fr/docs/reference/components/core/PhotoViewer/">Docs</a></p>
48
- <iframe src="./photo.html"></iframe>
49
- </div>
50
-
51
- <div class="oneView">
52
- <h2>Coverage Map</h2>
53
- <p>A map-only view, to locate sequences and pictures.<br /><a href="./map.html">Full page</a> | <a href="https://viewer.geovisio.fr/docs/reference/components/core/CoverageMap/">Docs</a></p>
54
- <iframe src="./map.html"></iframe>
55
- </div>
56
-
57
- <div class="oneView">
58
- <h2>Editor</h2>
59
- <p>A map and picture view, focused around metadata editing.<br /><a href="./editor.html">Full page</a> | <a href="https://viewer.geovisio.fr/docs/reference/components/core/Editor/">Docs</a></p>
60
- <iframe src="./editor.html"></iframe>
61
- </div>
62
-
63
- <div class="oneView">
64
- <h2>Viewer with Indoor Maps</h2>
65
- <p>Using OSM & indoor= map data.<br /><a href="./viewer_indoor.html">Full page</a> | <a href="https://viewer.geovisio.fr/docs/tutorials/indoor_maps/">Docs</a></p>
66
- <iframe src="./viewer_indoor.html"></iframe>
67
- </div>
68
- </div>
69
- </body>
70
- </html>
package/public/map.html DELETED
@@ -1,55 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
6
- <title>Panoramax Coverage Map</title>
7
- <style>
8
- #coverage {
9
- position: relative;
10
- width: 95%;
11
- margin: 2.5%;
12
- height: 400px;
13
- }
14
- #coverage.fullpage {
15
- position: fixed;
16
- top: 0;
17
- bottom: 0;
18
- left: 0;
19
- right: 0;
20
- height: unset;
21
- width: unset;
22
- margin: 0;
23
- }
24
- </style>
25
- </head>
26
- <body>
27
- <noscript>
28
- You need to enable JavaScript to run this app.
29
- </noscript>
30
-
31
- <pnx-coverage-map
32
- id="coverage"
33
- class="fullpage"
34
- ></pnx-coverage-map>
35
-
36
- <script src="./servers.js"></script>
37
- <script>
38
- // Retrieve component from DOM
39
- var coverage = document.getElementById("coverage");
40
- coverage.setAttribute("endpoint", server);
41
-
42
- coverage.addEventListener("ready", () => {
43
- // Listen to sequence hovered on map
44
- coverage.map.on("sequence-hover", e => {
45
- console.log("Hovered sequence", e.seqId);
46
- });
47
-
48
- // Listen to user clicks on map
49
- coverage.addEventListener("select", e => {
50
- console.log("Selected sequence", e.detail.seqId, "picture", e.detail.picId);
51
- });
52
- }, {once: true});
53
- </script>
54
- </body>
55
- </html>
package/public/photo.html DELETED
@@ -1,43 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
6
- <title>Panoramax Photo Viewer</title>
7
- <style>
8
- #viewer {
9
- position: relative;
10
- width: 95%;
11
- margin: 2.5%;
12
- height: 400px;
13
- }
14
- #viewer.fullpage {
15
- position: fixed;
16
- top: 0;
17
- bottom: 0;
18
- left: 0;
19
- right: 0;
20
- height: unset;
21
- width: unset;
22
- margin: 0;
23
- }
24
- </style>
25
- </head>
26
- <body>
27
- <noscript>
28
- You need to enable JavaScript to run this app.
29
- </noscript>
30
-
31
- <pnx-photo-viewer
32
- id="viewer"
33
- class="fullpage"
34
- picture="329af5c6-4761-4a6d-9c1e-674fd6daa8b6"
35
- ></pnx-photo-viewer>
36
-
37
- <script src="./servers.js"></script>
38
- <script>
39
- var viewer = document.getElementById("viewer");
40
- viewer.setAttribute("endpoint", server);
41
- </script>
42
- </body>
43
- </html>
package/public/servers.js DELETED
@@ -1,15 +0,0 @@
1
- var servers = {
2
- meta: "https://explore.panoramax.fr/api",
3
- ign: "https://panoramax.ign.fr/api",
4
- osmfr: "https://panoramax.openstreetmap.fr/api",
5
- local: "http://localhost:5000/api",
6
- dev: "https://dev.panoramax.xyz/api",
7
- cartocite: "https://panoramax.cartocite.fr/api",
8
- };
9
- var urlParams = new URLSearchParams(window.location.search);
10
- // eslint-disable-next-line no-unused-vars
11
- var server = servers[urlParams.get("server") || "meta"];
12
- if(!server) {
13
- console.error("Unrecognized server: "+urlParams.get("server"));
14
- server = servers.meta;
15
- }
@@ -1,79 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
6
- <title>Panoramax Web Viewer</title>
7
- <style>
8
- #viewer {
9
- position: relative;
10
- width: 95%;
11
- margin: 2.5%;
12
- height: 400px;
13
- }
14
- #viewer.fullpage {
15
- position: fixed;
16
- top: 0;
17
- bottom: 0;
18
- left: 0;
19
- right: 0;
20
- height: unset;
21
- width: unset;
22
- margin: 0;
23
- }
24
- </style>
25
- </head>
26
- <body>
27
- <noscript>
28
- You need to enable JavaScript to run this app.
29
- </noscript>
30
-
31
- <pnx-viewer
32
- id="viewer"
33
- class="fullpage"
34
- map-options='{
35
- raster: {
36
- type: "raster",
37
- tiles: [
38
- "https://data.geopf.fr/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=ORTHOIMAGERY.ORTHOPHOTOS&STYLE=normal&FORMAT=image/jpeg&TILEMATRIXSET=PM_0_19&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}"
39
- ],
40
- minzoom: 0,
41
- maxzoom: 19,
42
- attribution: "&copy; IGN",
43
- tileSize: 256
44
- },
45
- basemaps: {
46
- "OSM Topo": "https://tile-vect.openstreetmap.fr/styles/topo/style.json",
47
- "OSM FR": "https://a.tile.openstreetmap.fr/osmfr/{z:19}/{x}/{y}.png",
48
- osmbzh: {
49
- sources: {
50
- "osmbzh": {
51
- "type": "raster",
52
- "tiles": ["https://tile.openstreetmap.bzh/br/{z}/{x}/{y}.png"],
53
- "tileSize": 256,
54
- "minzoom": 0,
55
- "maxzoom": 19,
56
- "attribution": "&copy; <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> & <a href=\"http://www.openstreetmap.bzh/\">Breton OpenStreetMap Team</a>",
57
- }
58
- },
59
- "layers": [
60
- {
61
- "id": "osmbzh",
62
- "type": "raster",
63
- "source": "osmbzh",
64
- "metadata": {"name": "OSM e brezhoneg"}
65
- }
66
- ]
67
- }
68
- }
69
- }'
70
- ></pnx-viewer>
71
-
72
- <script src="./servers.js"></script>
73
- <script>
74
- var viewer = document.getElementById("viewer");
75
- if(server === servers.meta) { viewer.setAttribute("metacatalog", "false"); }
76
- viewer.setAttribute("endpoint", server);
77
- </script>
78
- </body>
79
- </html>
@@ -1,48 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
6
- <title>Panoramax Web Viewer - Indoor</title>
7
- <script src="https://unpkg.com/maplibre-gl-indoorequal@1.3.0/dist/maplibre-gl-indoorequal.umd.min.js"></script>
8
- <link href="https://unpkg.com/maplibre-gl-indoorequal@1.3.0/maplibre-gl-indoorequal.css" rel="stylesheet" />
9
- <style>
10
- #viewer {
11
- position: relative;
12
- width: 95%;
13
- margin: 2.5%;
14
- height: 400px;
15
- }
16
- #viewer.fullpage {
17
- position: fixed;
18
- top: 0;
19
- bottom: 0;
20
- left: 0;
21
- right: 0;
22
- height: unset;
23
- width: unset;
24
- margin: 0;
25
- }
26
- </style>
27
- </head>
28
- <body>
29
- <noscript>
30
- You need to enable JavaScript to run this app.
31
- </noscript>
32
-
33
- <pnx-viewer
34
- id="viewer"
35
- class="fullpage"
36
- endpoint="https://panoramax.openstreetmap.fr/api"
37
- map-options='{
38
- center: [-1.55958, 47.2135],
39
- zoom: 19,
40
- indoor: {
41
- apiKey: "iek_yFQp8AMQpK78c8wPyAvbXY3ko6nh",
42
- heatmap: false,
43
- level: "2"
44
- }
45
- }'
46
- ></pnx-viewer>
47
- </body>
48
- </html>