mobility-toolbox-js 2.0.0-beta.3 → 2.0.0-beta.6

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 (283) hide show
  1. package/.babelrc +6 -0
  2. package/.esdoc.json +17 -0
  3. package/.eslintignore +1 -0
  4. package/.github/workflows/conventional-pr-title.yml +21 -0
  5. package/.github/workflows/cypress.yml +29 -0
  6. package/.github/workflows/nodejs.yml +28 -0
  7. package/.husky/commit-msg +4 -0
  8. package/.husky/post-checkout +4 -0
  9. package/.husky/post-merge +4 -0
  10. package/.husky/post-rebase +4 -0
  11. package/.husky/pre-commit +4 -0
  12. package/.neutrinorc.js +176 -0
  13. package/.nvmrc +1 -0
  14. package/CHANGELOG.md +10 -0
  15. package/LICENSE +21 -0
  16. package/Layer.js +2 -0
  17. package/Layer.js.map +7 -0
  18. package/README.md +4 -1
  19. package/__mocks__/mapbox-gl.js +81 -0
  20. package/__mocks__/maplibre-gl.js +81 -0
  21. package/commitlint.config.js +1 -0
  22. package/cypress/fixtures/example.json +5 -0
  23. package/cypress/integration/examples/api.spec.js +7 -0
  24. package/cypress/integration/examples/examples.spec.js +7 -0
  25. package/cypress/integration/examples/navigation.spec.js +29 -0
  26. package/cypress/plugins/index.js +21 -0
  27. package/cypress/support/commands.js +25 -0
  28. package/cypress/support/index.js +20 -0
  29. package/cypress.json +4 -0
  30. package/data/fetchRoute.json +292 -0
  31. package/data/fetchTrajectories.json +18 -0
  32. package/data/fetchTrajectoryById.json +3 -0
  33. package/data/fetchTrajectoryStations.json +18 -0
  34. package/data/stopsSearch.json +15 -0
  35. package/documentation.yml +4 -0
  36. package/esdoc/README.md +27 -0
  37. package/esdoc/plugins/MyPlugin.js +69 -0
  38. package/esdoc/plugins/dynamic-property-plugin/Plugin.js +50 -0
  39. package/esdoc/plugins/externals-plugin/Plugin.js +45 -0
  40. package/esdoc/plugins/externals-plugin/externals.js +96 -0
  41. package/global-setup.js +3 -0
  42. package/{ol/README.md → index.html} +0 -0
  43. package/indexweb.html +49 -0
  44. package/jest.config.js +5 -0
  45. package/package.json +29 -9
  46. package/pull_request_template.md +17 -0
  47. package/renovate.json +4 -0
  48. package/scripts/read-pkg-json.js +22 -0
  49. package/{api → src/api}/index.js +0 -0
  50. package/{api → src/api}/routing/RoutingAPI.js +0 -0
  51. package/{api → src/api}/routing/RoutingAPI.test.js +0 -0
  52. package/{api → src/api}/stops/StopsAPI.js +0 -0
  53. package/{api → src/api}/stops/StopsAPI.test.js +0 -0
  54. package/{api → src/api}/tralis/TralisAPI.js +0 -0
  55. package/{api → src/api}/tralis/TralisAPI.test.js +0 -0
  56. package/{api → src/api}/tralis/TralisAPIUtils.js +0 -0
  57. package/{api → src/api}/tralis/WebSocketConnector.js +0 -0
  58. package/{api → src/api}/tralis/WebSocketConnector.test.js +0 -0
  59. package/{api → src/api}/tralis/typedefs.js +0 -0
  60. package/src/assets/Lato-Black.ttf +0 -0
  61. package/src/assets/Lato-BlackItalic.ttf +0 -0
  62. package/src/assets/Lato-Bold.ttf +0 -0
  63. package/src/assets/Lato-BoldItalic.ttf +0 -0
  64. package/src/assets/Lato-Italic.ttf +0 -0
  65. package/src/assets/Lato-Light.ttf +0 -0
  66. package/src/assets/Lato-LightItalic.ttf +0 -0
  67. package/src/assets/Lato-Regular.ttf +0 -0
  68. package/src/assets/Lato-Thin.ttf +0 -0
  69. package/src/assets/Lato-ThinItalic.ttf +0 -0
  70. package/src/assets/OFL.txt +93 -0
  71. package/{common → src/common}/Tracker.js +0 -0
  72. package/{common → src/common}/api/api.js +0 -0
  73. package/{common → src/common}/api/api.test.js +0 -0
  74. package/{common → src/common}/controls/Control.js +0 -0
  75. package/{common → src/common}/controls/Control.test.js +0 -0
  76. package/{common → src/common}/layers/Layer.js +0 -0
  77. package/{common → src/common}/layers/Layer.test.js +0 -0
  78. package/{common → src/common}/mixins/CopyrightMixin.js +0 -0
  79. package/{common → src/common}/mixins/SearchMixin.js +0 -0
  80. package/{common → src/common}/mixins/TralisLayerMixin.js +0 -0
  81. package/{common → src/common}/styles/index.js +0 -0
  82. package/{common → src/common}/styles/trackerDefaultStyle.js +8 -8
  83. package/{common → src/common}/styles/trackerDelayStyle.js +0 -0
  84. package/{common → src/common}/styles/trackerSimpleStyle.js +0 -0
  85. package/{common → src/common}/trackerConfig.js +0 -0
  86. package/{common → src/common}/trackerConfig.test.js +0 -0
  87. package/{common → src/common}/typedefs.js +0 -0
  88. package/{common → src/common}/utils/createTrackerFilters.js +0 -0
  89. package/{common → src/common}/utils/createTrackerFilters.test.js +0 -0
  90. package/{common → src/common}/utils/getMapboxMapCopyrights.js +0 -0
  91. package/{common → src/common}/utils/getMapboxMapCopyrights.test.js +0 -0
  92. package/{common → src/common}/utils/getMapboxStyleUrl.js +0 -0
  93. package/{common → src/common}/utils/getVehiclePosition.js +0 -0
  94. package/{common → src/common}/utils/index.js +0 -0
  95. package/{common → src/common}/utils/removeDuplicate.js +0 -0
  96. package/{common → src/common}/utils/removeDuplicate.test.js +0 -0
  97. package/{common → src/common}/utils/sortByDelay.js +0 -0
  98. package/{common → src/common}/utils/timeUtils.js +0 -0
  99. package/{common → src/common}/utils/timeUtils.test.js +0 -0
  100. package/src/doc/App.js +116 -0
  101. package/src/doc/App.scss +51 -0
  102. package/src/doc/_redirects +2 -0
  103. package/src/doc/components/CodeSandboxButton.js +103 -0
  104. package/src/doc/components/Documentation.js +40 -0
  105. package/src/doc/components/Esdoc/Anchor.js +57 -0
  106. package/src/doc/components/Esdoc/ClassDoc.js +272 -0
  107. package/src/doc/components/Esdoc/DeprecatedHTML.js +16 -0
  108. package/src/doc/components/Esdoc/DetailDocs.js +281 -0
  109. package/src/doc/components/Esdoc/DetailHTML.js +33 -0
  110. package/src/doc/components/Esdoc/DirectSubclassHTML.js +30 -0
  111. package/src/doc/components/Esdoc/DocBuilderUtils.js +694 -0
  112. package/src/doc/components/Esdoc/DocLinkHTML.js +62 -0
  113. package/src/doc/components/Esdoc/DocsLinkHTML.js +38 -0
  114. package/src/doc/components/Esdoc/Esdoc.js +63 -0
  115. package/src/doc/components/Esdoc/EsdocContent.js +51 -0
  116. package/src/doc/components/Esdoc/EsdocNavigation.js +13 -0
  117. package/src/doc/components/Esdoc/EsdocSearch.js +81 -0
  118. package/src/doc/components/Esdoc/ExperimentalHTML.js +17 -0
  119. package/src/doc/components/Esdoc/ExtendsChainHTML.js +32 -0
  120. package/src/doc/components/Esdoc/FileDocLinkHTML.js +60 -0
  121. package/src/doc/components/Esdoc/IdentifiersDoc.js +113 -0
  122. package/src/doc/components/Esdoc/IndirectSubclassHTML.js +30 -0
  123. package/src/doc/components/Esdoc/InheritedSummaryDoc.js +70 -0
  124. package/src/doc/components/Esdoc/InheritedSummaryHTML.js +38 -0
  125. package/src/doc/components/Esdoc/MixinClassesHTML.js +29 -0
  126. package/src/doc/components/Esdoc/NavDoc.js +112 -0
  127. package/src/doc/components/Esdoc/OverrideMethod.js +44 -0
  128. package/src/doc/components/Esdoc/OverrideMethodDescription.js +35 -0
  129. package/src/doc/components/Esdoc/Properties.js +89 -0
  130. package/src/doc/components/Esdoc/README.md +45 -0
  131. package/src/doc/components/Esdoc/SignatureHTML.js +123 -0
  132. package/src/doc/components/Esdoc/SingleDoc.js +31 -0
  133. package/src/doc/components/Esdoc/SummaryDoc.js +160 -0
  134. package/src/doc/components/Esdoc/SummaryHTML.js +96 -0
  135. package/src/doc/components/Esdoc/TypeDocLinkHTML.js +249 -0
  136. package/src/doc/components/Esdoc/css/identifiers.css +38 -0
  137. package/src/doc/components/Esdoc/css/search.css +76 -0
  138. package/src/doc/components/Esdoc/css/style.css +603 -0
  139. package/src/doc/components/Esdoc/index.js +7 -0
  140. package/src/doc/components/Example.js +153 -0
  141. package/src/doc/components/Examples.js +183 -0
  142. package/src/doc/components/Home.js +106 -0
  143. package/src/doc/components/TrackerExample.js +38 -0
  144. package/src/doc/components/esm.min.js +2 -0
  145. package/src/doc/components/examples/assets/tralis-live-map/index.js +11 -0
  146. package/src/doc/components/examples/assets/tralis-live-map/s1kreis.svg +105 -0
  147. package/src/doc/components/examples/assets/tralis-live-map/s20kreis.svg +101 -0
  148. package/src/doc/components/examples/assets/tralis-live-map/s2kreis.svg +95 -0
  149. package/src/doc/components/examples/assets/tralis-live-map/s3kreis.svg +95 -0
  150. package/src/doc/components/examples/assets/tralis-live-map/s4kreis.svg +95 -0
  151. package/src/doc/components/examples/assets/tralis-live-map/s6kreis.svg +95 -0
  152. package/src/doc/components/examples/assets/tralis-live-map/s7kreis.svg +95 -0
  153. package/src/doc/components/examples/assets/tralis-live-map/s8kreis.svg +93 -0
  154. package/src/doc/components/examples/assets/tralis-live-map/unknown.svg +107 -0
  155. package/src/doc/components/examples/mb-copyright.html +26 -0
  156. package/src/doc/components/examples/mb-copyright.js +37 -0
  157. package/src/doc/components/examples/mb-tracker.html +1 -0
  158. package/src/doc/components/examples/mb-tracker.js +39 -0
  159. package/src/doc/components/examples/mb-tracker.md +1 -0
  160. package/src/doc/components/examples/mb-tralis.html +1 -0
  161. package/src/doc/components/examples/mb-tralis.js +34 -0
  162. package/src/doc/components/examples/ol-copyright.html +26 -0
  163. package/src/doc/components/examples/ol-copyright.js +43 -0
  164. package/src/doc/components/examples/ol-mapbox-layer.html +1 -0
  165. package/src/doc/components/examples/ol-mapbox-layer.js +28 -0
  166. package/src/doc/components/examples/ol-mapbox-layer.md +0 -0
  167. package/src/doc/components/examples/ol-mapbox-style-layer.html +12 -0
  168. package/src/doc/components/examples/ol-mapbox-style-layer.js +44 -0
  169. package/src/doc/components/examples/ol-query.html +32 -0
  170. package/src/doc/components/examples/ol-query.js +83 -0
  171. package/src/doc/components/examples/ol-routing.html +26 -0
  172. package/src/doc/components/examples/ol-routing.js +59 -0
  173. package/src/doc/components/examples/ol-routing.md +1 -0
  174. package/src/doc/components/examples/ol-stop-finder.html +15 -0
  175. package/src/doc/components/examples/ol-stop-finder.js +31 -0
  176. package/src/doc/components/examples/ol-stop-finder.md +1 -0
  177. package/src/doc/components/examples/ol-tracker.html +1 -0
  178. package/src/doc/components/examples/ol-tracker.js +44 -0
  179. package/src/doc/components/examples/ol-tracker.md +1 -0
  180. package/src/doc/components/examples/ol-tralis.html +5 -0
  181. package/src/doc/components/examples/ol-tralis.js +57 -0
  182. package/src/doc/components/examples/tralis-live-map.html +1 -0
  183. package/src/doc/components/examples/tralis-live-map.js +51 -0
  184. package/src/doc/components/examples/tralis-live-map.md +3 -0
  185. package/src/doc/examples/assets/tralis-live-map/index.js +11 -0
  186. package/src/doc/examples/assets/tralis-live-map/s1kreis.svg +105 -0
  187. package/src/doc/examples/assets/tralis-live-map/s20kreis.svg +101 -0
  188. package/src/doc/examples/assets/tralis-live-map/s2kreis.svg +95 -0
  189. package/src/doc/examples/assets/tralis-live-map/s3kreis.svg +95 -0
  190. package/src/doc/examples/assets/tralis-live-map/s4kreis.svg +95 -0
  191. package/src/doc/examples/assets/tralis-live-map/s6kreis.svg +95 -0
  192. package/src/doc/examples/assets/tralis-live-map/s7kreis.svg +95 -0
  193. package/src/doc/examples/assets/tralis-live-map/s8kreis.svg +93 -0
  194. package/src/doc/examples/assets/tralis-live-map/unknown.svg +107 -0
  195. package/src/doc/examples/mb-copyright.html +26 -0
  196. package/src/doc/examples/mb-copyright.js +37 -0
  197. package/src/doc/examples/mb-tracker.html +1 -0
  198. package/src/doc/examples/mb-tracker.js +39 -0
  199. package/src/doc/examples/mb-tracker.md +1 -0
  200. package/src/doc/examples/mb-tralis.html +1 -0
  201. package/src/doc/examples/mb-tralis.js +34 -0
  202. package/src/doc/examples/ol-copyright.html +26 -0
  203. package/src/doc/examples/ol-copyright.js +43 -0
  204. package/src/doc/examples/ol-mapbox-layer.html +1 -0
  205. package/src/doc/examples/ol-mapbox-layer.js +28 -0
  206. package/src/doc/examples/ol-mapbox-layer.md +0 -0
  207. package/src/doc/examples/ol-mapbox-style-layer.html +12 -0
  208. package/src/doc/examples/ol-mapbox-style-layer.js +44 -0
  209. package/src/doc/examples/ol-query.html +32 -0
  210. package/src/doc/examples/ol-query.js +83 -0
  211. package/src/doc/examples/ol-routing.html +26 -0
  212. package/src/doc/examples/ol-routing.js +59 -0
  213. package/src/doc/examples/ol-routing.md +1 -0
  214. package/src/doc/examples/ol-stop-finder.html +15 -0
  215. package/src/doc/examples/ol-stop-finder.js +31 -0
  216. package/src/doc/examples/ol-stop-finder.md +1 -0
  217. package/src/doc/examples/ol-tracker.html +1 -0
  218. package/src/doc/examples/ol-tracker.js +44 -0
  219. package/src/doc/examples/ol-tracker.md +1 -0
  220. package/src/doc/examples/ol-tralis.html +5 -0
  221. package/src/doc/examples/ol-tralis.js +57 -0
  222. package/src/doc/examples/tralis-live-map.html +1 -0
  223. package/src/doc/examples/tralis-live-map.js +51 -0
  224. package/src/doc/examples/tralis-live-map.md +3 -0
  225. package/src/doc/examples.js +107 -0
  226. package/src/doc/img/examples/live_tracker_mb.jpg +0 -0
  227. package/src/doc/img/examples/live_tracker_munich.jpg +0 -0
  228. package/src/doc/img/examples/live_tracker_ol.jpg +0 -0
  229. package/src/doc/img/examples/mapbox.jpg +0 -0
  230. package/src/doc/img/examples/mapbox_style.jpg +0 -0
  231. package/src/doc/img/examples/ol-copyright.png +0 -0
  232. package/src/doc/img/examples/query_objects.jpg +0 -0
  233. package/src/doc/img/examples/routing.jpg +0 -0
  234. package/src/doc/img/examples/simple_map.jpg +0 -0
  235. package/src/doc/img/examples/stops.jpg +0 -0
  236. package/src/doc/img/favico.ico +0 -0
  237. package/src/doc/index.js +21 -0
  238. package/src/iife.js +7 -0
  239. package/{module.js → src/index.js} +2 -0
  240. package/{mapbox → src/mapbox}/controls/CopyrightControl.js +0 -0
  241. package/{mapbox → src/mapbox}/index.js +0 -0
  242. package/{mapbox → src/mapbox}/layers/Layer.js +0 -0
  243. package/{mapbox → src/mapbox}/layers/Layer.test.js +0 -0
  244. package/{mapbox → src/mapbox}/layers/TralisLayer.js +0 -0
  245. package/{mapbox → src/mapbox}/layers/TralisLayer.test.js +0 -0
  246. package/{mapbox → src/mapbox}/utils.js +0 -0
  247. package/src/ol/README.md +0 -0
  248. package/{ol → src/ol}/controls/CopyrightControl.js +0 -0
  249. package/{ol → src/ol}/controls/CopyrightControl.test.js +0 -0
  250. package/{ol → src/ol}/controls/RoutingControl.js +0 -0
  251. package/{ol → src/ol}/controls/RoutingControl.test.js +0 -0
  252. package/{ol → src/ol}/controls/StopFinderControl.js +0 -0
  253. package/{ol → src/ol}/controls/StopFinderControl.test.js +0 -0
  254. package/{ol → src/ol}/controls/snapshots/RoutingControlRouteGen10.json +0 -0
  255. package/{ol → src/ol}/controls/snapshots/RoutingControlRouteGen100.json +0 -0
  256. package/{ol → src/ol}/controls/snapshots/RoutingControlRouteGen30.json +0 -0
  257. package/{ol → src/ol}/controls/snapshots/RoutingControlRouteGen5.json +0 -0
  258. package/{ol → src/ol}/controls/snapshots/RoutingControlRouteOSM.json +0 -0
  259. package/{ol → src/ol}/controls/snapshots/RoutingControlStation1.json +0 -0
  260. package/{ol → src/ol}/controls/snapshots/RoutingControlStation2.json +0 -0
  261. package/{ol → src/ol}/index.js +0 -0
  262. package/{ol → src/ol}/layers/Layer.js +0 -0
  263. package/{ol → src/ol}/layers/Layer.test.js +0 -0
  264. package/{ol → src/ol}/layers/MapboxLayer.js +0 -0
  265. package/{ol → src/ol}/layers/MapboxLayer.test.js +0 -0
  266. package/{ol → src/ol}/layers/MapboxStyleLayer.js +0 -0
  267. package/{ol → src/ol}/layers/MapboxStyleLayer.test.js +0 -0
  268. package/{ol → src/ol}/layers/MaplibreLayer.js +0 -0
  269. package/{ol → src/ol}/layers/RoutingLayer.js +0 -0
  270. package/{ol → src/ol}/layers/RoutingLayer.test.js +0 -0
  271. package/{ol → src/ol}/layers/TralisLayer.js +0 -0
  272. package/{ol → src/ol}/layers/TralisLayer.test.js +0 -0
  273. package/{ol → src/ol}/layers/VectorLayer.js +0 -0
  274. package/{ol → src/ol}/layers/VectorLayer.test.js +0 -0
  275. package/{ol → src/ol}/layers/WMSLayer.js +0 -0
  276. package/{ol → src/ol}/layers/WMSLayer.test.js +0 -0
  277. package/{ol → src/ol}/styles/fullTrajectoryDelayStyle.js +0 -0
  278. package/{ol → src/ol}/styles/fullTrajectoryStyle.js +0 -0
  279. package/{ol → src/ol}/styles/index.js +0 -0
  280. package/src/setupTests.js +15 -0
  281. package/webpack.config.js +6 -0
  282. package/index.js +0 -2
  283. package/index.js.map +0 -1
@@ -0,0 +1,95 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
4
+ xmlns:cc="http://creativecommons.org/ns#"
5
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
+ xmlns:svg="http://www.w3.org/2000/svg"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
9
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10
+ id="s7kreis"
11
+ width="25"
12
+ height="24.999996"
13
+ viewBox="0 0 25 24.999996"
14
+ version="1.1"
15
+ sodipodi:docname="s7kreis.svg"
16
+ inkscape:version="1.0.2 (e86c870879, 2021-01-15, custom)">
17
+ <metadata
18
+ id="metadata13">
19
+ <rdf:RDF>
20
+ <cc:Work
21
+ rdf:about="">
22
+ <dc:format>image/svg+xml</dc:format>
23
+ <dc:type
24
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
25
+ <dc:title></dc:title>
26
+ </cc:Work>
27
+ </rdf:RDF>
28
+ </metadata>
29
+ <defs
30
+ id="defs11" />
31
+ <sodipodi:namedview
32
+ pagecolor="#ffffff"
33
+ bordercolor="#666666"
34
+ borderopacity="1"
35
+ objecttolerance="10"
36
+ gridtolerance="10"
37
+ guidetolerance="10"
38
+ inkscape:pageopacity="0"
39
+ inkscape:pageshadow="2"
40
+ inkscape:window-width="2149"
41
+ inkscape:window-height="1712"
42
+ id="namedview9"
43
+ showgrid="false"
44
+ fit-margin-top="0"
45
+ fit-margin-left="0"
46
+ fit-margin-right="0"
47
+ fit-margin-bottom="0"
48
+ inkscape:zoom="5.5333333"
49
+ inkscape:cx="38.8"
50
+ inkscape:cy="37.9"
51
+ inkscape:window-x="2391"
52
+ inkscape:window-y="0"
53
+ inkscape:window-maximized="0"
54
+ inkscape:current-layer="s7kreis" />
55
+ <rect
56
+ id="Rechteck_39"
57
+ data-name="Rechteck 39"
58
+ width="150"
59
+ height="150"
60
+ fill="none"
61
+ x="-36.200001"
62
+ y="-37.099998" />
63
+ <g
64
+ id="Gruppe_149"
65
+ data-name="Gruppe 149"
66
+ opacity="0.85"
67
+ transform="matrix(0.32216491,0,0,0.32216491,-11.66237,-11.952318)">
68
+ <circle
69
+ id="Ellipse_23"
70
+ data-name="Ellipse 23"
71
+ cx="38.799999"
72
+ cy="38.799999"
73
+ r="38.799999"
74
+ transform="translate(36.2,37.1)"
75
+ fill="#812621" />
76
+ </g>
77
+ <path
78
+ id="Pfad_491"
79
+ data-name="Pfad 491"
80
+ d="M 12.499998,1.771907 A 10.695875,10.695875 0 1 1 1.8041233,12.467782 10.695875,10.695875 0 0 1 12.499998,1.771907 m 0,-1.771907 a 12.499998,12.499998 0 1 0 12.499999,12.499998 v 0 A 12.4913,12.4913 0 0 0 12.517718,0 Z"
81
+ fill="#812621"
82
+ style="stroke-width:0.322165" />
83
+ <path
84
+ id="Pfad_492"
85
+ data-name="Pfad 492"
86
+ d="m 3.6082473,14.400771 h 2.190721 c 0.193299,1.320877 0.837629,1.804124 2.448454,1.804124 1.127577,0 2.0940717,-0.386598 2.0940717,-1.417526 0,-1.030927 -1.0309277,-1.224226 -2.6417527,-1.610824 -1.900773,-0.483248 -3.704896,-0.934278 -3.704896,-3.221649 0,-2.190722 1.707474,-3.221649 4.155927,-3.221649 2.4484537,0 3.9948447,1.224226 4.1559277,3.414948 H 10.115978 C 10.019329,9.020617 9.1817003,8.53737 8.0219063,8.53737 c -1.127577,0 -1.997422,0.483247 -1.997422,1.224227 0,0.837629 0.773196,1.127577 2.38402,1.514175 2.2873707,0.451031 4.0914937,1.030928 4.0914937,3.318298 0,2.190722 -1.804123,3.414948 -4.2525757,3.414948 -2.963917,-0.03222 -4.574742,-1.353092 -4.639175,-3.608247 z"
87
+ fill="#ffffff"
88
+ style="stroke-width:0.322165" />
89
+ <path
90
+ id="Pfad_493"
91
+ data-name="Pfad 493"
92
+ d="M 19.039946,9.1817 H 13.917524 V 7.377576 h 7.377577 V 9.08505 a 13.354702,13.354702 0 0 0 -3.801546,8.730669 H 15.206184 C 15.33505,13.917524 17.429122,10.792524 19.039946,9.1817 Z"
93
+ fill="#ffffff"
94
+ style="stroke-width:0.322165" />
95
+ </svg>
@@ -0,0 +1,93 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
4
+ xmlns:cc="http://creativecommons.org/ns#"
5
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
+ xmlns:svg="http://www.w3.org/2000/svg"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
9
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10
+ id="s8kreis"
11
+ width="25.000002"
12
+ height="24.999996"
13
+ viewBox="0 0 25.000002 24.999996"
14
+ version="1.1"
15
+ sodipodi:docname="s8kreis.svg"
16
+ inkscape:version="1.0.2 (e86c870879, 2021-01-15, custom)">
17
+ <metadata
18
+ id="metadata13">
19
+ <rdf:RDF>
20
+ <cc:Work
21
+ rdf:about="">
22
+ <dc:format>image/svg+xml</dc:format>
23
+ <dc:type
24
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
25
+ <dc:title></dc:title>
26
+ </cc:Work>
27
+ </rdf:RDF>
28
+ </metadata>
29
+ <defs
30
+ id="defs11" />
31
+ <sodipodi:namedview
32
+ pagecolor="#ffffff"
33
+ bordercolor="#666666"
34
+ borderopacity="1"
35
+ objecttolerance="10"
36
+ gridtolerance="10"
37
+ guidetolerance="10"
38
+ inkscape:pageopacity="0"
39
+ inkscape:pageshadow="2"
40
+ inkscape:window-width="2149"
41
+ inkscape:window-height="1721"
42
+ id="namedview9"
43
+ showgrid="false"
44
+ fit-margin-top="0"
45
+ fit-margin-left="0"
46
+ fit-margin-right="0"
47
+ fit-margin-bottom="0"
48
+ inkscape:zoom="5.5333333"
49
+ inkscape:cx="38.800001"
50
+ inkscape:cy="37.9"
51
+ inkscape:window-x="2391"
52
+ inkscape:window-y="-9"
53
+ inkscape:window-maximized="0"
54
+ inkscape:current-layer="Gruppe_150" />
55
+ <rect
56
+ id="Rechteck_40"
57
+ data-name="Rechteck 40"
58
+ width="150"
59
+ height="150"
60
+ fill="none"
61
+ x="-36.199997"
62
+ y="-37.099998" />
63
+ <g
64
+ id="Gruppe_150"
65
+ data-name="Gruppe 150"
66
+ opacity="0.85"
67
+ transform="translate(-36.199999,-37.1)">
68
+ <circle
69
+ id="Ellipse_24"
70
+ data-name="Ellipse 24"
71
+ cx="48.699997"
72
+ cy="49.599998"
73
+ r="12.499998"
74
+ style="stroke-width:0.322165" />
75
+ </g>
76
+ <path
77
+ id="Pfad_494"
78
+ data-name="Pfad 494"
79
+ d="M 12.499999,1.771907 A 10.695875,10.695875 0 1 1 1.8041241,12.467782 v 0 A 10.752254,10.752254 0 0 1 12.499999,1.771907 m 0,-1.771907 a 12.499998,12.499998 0 1 0 12.499999,12.499998 v 0 A 12.4913,12.4913 0 0 0 12.517719,0 Z"
80
+ style="stroke-width:0.322165" />
81
+ <path
82
+ id="Pfad_495"
83
+ data-name="Pfad 495"
84
+ d="m 3.2216501,14.400771 h 2.190721 c 0.193299,1.320877 0.837629,1.804124 2.448454,1.804124 1.127577,0 2.094072,-0.386598 2.094072,-1.417526 0,-1.030927 -1.030928,-1.224226 -2.641753,-1.610824 -1.900773,-0.483248 -3.704896,-0.934278 -3.704896,-3.221649 0,-2.190722 1.707474,-3.221649 4.155927,-3.221649 2.4484539,0 3.9948449,1.224226 4.1559279,3.414948 H 9.8260311 C 9.7293811,9.020617 8.8917521,8.53737 7.7319591,8.53737 c -1.159794,0 -1.997423,0.483247 -1.997423,1.224227 0,0.837629 0.773196,1.127577 2.384021,1.514175 2.0940719,0.483247 3.8981949,0.934278 3.8981949,3.318298 0,2.190722 -1.804123,3.414948 -4.2525769,3.414948 -2.835051,-0.03222 -4.542525,-1.353092 -4.542525,-3.608247 z"
85
+ fill="#f2b42c"
86
+ style="stroke-width:0.322165" />
87
+ <path
88
+ id="Pfad_496"
89
+ data-name="Pfad 496"
90
+ d="m 13.434278,14.755153 a 2.8701672,2.8701672 0 0 1 1.900773,-2.738402 v 0 A 2.0647549,2.0647549 0 0 1 13.917525,9.922679 c 0,-1.804123 1.514175,-2.738402 3.801546,-2.738402 2.287371,0 3.704896,0.934279 3.704896,2.738402 0,0.934278 -0.579896,1.610825 -1.417525,2.094072 v 0 a 2.7770615,2.7770615 0 0 1 1.900773,2.641752 c 0,2.190722 -1.804124,3.318299 -4.155927,3.318299 -2.416237,0 -4.31701,-1.127577 -4.31701,-3.221649 z m 6.282215,-0.09665 c 0,-1.030927 -0.773195,-1.804123 -1.997422,-1.804123 -1.224227,0 -2.094072,0.676546 -2.094072,1.804123 0,1.030928 0.773196,1.610825 2.094072,1.610825 1.127577,0 1.997422,-0.64433 1.997422,-1.610825 z m -0.289948,-4.542525 c 0,-0.837629 -0.676546,-1.320876 -1.707474,-1.320876 -1.127577,0 -1.707474,0.579897 -1.707474,1.320876 0,0.773196 0.676546,1.417526 1.707474,1.417526 1.030928,-0.09665 1.707474,-0.64433 1.707474,-1.417526 z"
91
+ fill="#f2b42c"
92
+ style="stroke-width:0.322165" />
93
+ </svg>
@@ -0,0 +1,107 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
4
+ xmlns:cc="http://creativecommons.org/ns#"
5
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
+ xmlns:svg="http://www.w3.org/2000/svg"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
9
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10
+ version="1.1"
11
+ id="Ebene_1"
12
+ x="0px"
13
+ y="0px"
14
+ viewBox="0 0 25 25"
15
+ xml:space="preserve"
16
+ width="25"
17
+ height="25"
18
+ sodipodi:docname="unknown.svg"
19
+ inkscape:version="1.0.2 (e86c870879, 2021-01-15, custom)"><metadata
20
+ id="metadata29"><rdf:RDF><cc:Work
21
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
22
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title>unknown</dc:title></cc:Work></rdf:RDF></metadata><defs
23
+ id="defs27" /><sodipodi:namedview
24
+ pagecolor="#ffffff"
25
+ bordercolor="#666666"
26
+ borderopacity="1"
27
+ objecttolerance="10"
28
+ gridtolerance="10"
29
+ guidetolerance="10"
30
+ inkscape:pageopacity="0"
31
+ inkscape:pageshadow="2"
32
+ inkscape:window-width="2149"
33
+ inkscape:window-height="1712"
34
+ id="namedview25"
35
+ showgrid="false"
36
+ fit-margin-top="0"
37
+ fit-margin-left="0"
38
+ fit-margin-right="0"
39
+ fit-margin-bottom="0"
40
+ inkscape:zoom="5.5333333"
41
+ inkscape:cx="44.1"
42
+ inkscape:cy="44.1"
43
+ inkscape:window-x="2391"
44
+ inkscape:window-y="0"
45
+ inkscape:window-maximized="0"
46
+ inkscape:current-layer="g22" />
47
+ <style
48
+ type="text/css"
49
+ id="style2">
50
+ .st0{fill:#E6E6E6;}
51
+ .st1{fill:#999999;}
52
+ .st2{fill:#666666;}
53
+ .st3{fill:#FFFFFF;}
54
+ .st4{fill:none;}
55
+ </style>
56
+ <title
57
+ id="title4">unknown</title>
58
+ <g
59
+ id="g22"
60
+ transform="translate(-30.9,-30.9)">
61
+ <g
62
+ id="g10"
63
+ transform="matrix(0.28344671,0,0,0.28344671,22.141497,22.141497)">
64
+ <circle
65
+ class="st0"
66
+ cx="75"
67
+ cy="75"
68
+ r="42.599998"
69
+ id="circle6" />
70
+ <path
71
+ class="st1"
72
+ d="M 75,119.1 C 50.6,119.1 30.9,99.4 30.9,75 30.9,50.6 50.6,30.9 75,30.9 c 24.4,0 44.1,19.7 44.1,44.1 v 0 c 0,24.1 -19.7,43.8 -44.1,44.1 z m 0,-85.3 c -22.6,0 -41.2,18.5 -41.2,41.2 0,22.7 18.5,41.2 41.2,41.2 22.7,0 41.2,-18.5 41.2,-41.2 C 116.2,52.1 97.9,33.8 75,33.8 Z"
73
+ id="path8" />
74
+ </g>
75
+ <path
76
+ class="st2"
77
+ d="m 47.566667,35.491837 h -8.333334 c -1.162131,0 -2.097505,0.907029 -2.097505,2.097505 v 11.678005 c 0,1.162131 0.907029,2.097506 2.097505,2.097506 h 8.333334 c 1.162131,0 2.097505,-0.90703 2.097505,-2.097506 V 37.560998 c 0,-1.162132 -0.935374,-2.069161 -2.097505,-2.069161 z m -7.511338,14.172335 c -0.680272,0 -1.247166,-0.595238 -1.247166,-1.247165 0,-0.680272 0.595238,-1.247166 1.247166,-1.247166 0.680272,0 1.247165,0.595238 1.247165,1.247166 0,0.651927 -0.481859,1.247165 -1.247165,1.247165 z m 6.689342,0 c -0.680272,0 -1.247165,-0.595238 -1.247165,-1.247165 0,-0.680272 0.595238,-1.247166 1.247165,-1.247166 0.680272,0 1.247166,0.595238 1.247166,1.247166 0,0.651927 -0.510204,1.247165 -1.247166,1.247165 z m 1.247166,-6.774376 c 0,0.510204 -0.42517,0.907029 -0.90703,0.907029 h -7.426304 c -0.510204,0 -0.907029,-0.42517 -0.907029,-0.907029 v -4.903628 c 0,-0.510204 0.42517,-0.90703 0.907029,-0.90703 h 7.426304 c 0.510204,0 0.90703,0.42517 0.90703,0.90703 z"
78
+ id="path12"
79
+ style="stroke-width:0.283447" />
80
+ <circle
81
+ class="st3"
82
+ cx="40.055328"
83
+ cy="48.38866"
84
+ r="1.2471656"
85
+ id="circle14"
86
+ style="stroke-width:0.283447" />
87
+ <circle
88
+ class="st3"
89
+ cx="46.744671"
90
+ cy="48.38866"
91
+ r="1.2471656"
92
+ id="circle16"
93
+ style="stroke-width:0.283447" />
94
+ <path
95
+ class="st3"
96
+ d="m 39.743537,37.135828 h 7.426304 c 0.510204,0 0.90703,0.42517 0.90703,0.907029 v 4.931973 c 0,0.510204 -0.42517,0.907029 -0.90703,0.907029 h -7.426304 c -0.510204,0 -0.907029,-0.42517 -0.907029,-0.907029 v -4.903628 c -0.02835,-0.595238 0.396825,-0.935374 0.907029,-0.935374 z"
97
+ id="path18"
98
+ style="stroke-width:0.283447" />
99
+ <rect
100
+ class="st4"
101
+ width="150"
102
+ height="150"
103
+ id="rect20"
104
+ x="0"
105
+ y="0" />
106
+ </g>
107
+ </svg>
@@ -0,0 +1,26 @@
1
+ <style>
2
+ #button,
3
+ #copyright {
4
+ margin: 10px 10px;
5
+ }
6
+
7
+ #button {
8
+ position: absolute;
9
+ bottom: 0;
10
+ left: 0;
11
+ }
12
+
13
+ #copyright {
14
+ position: absolute;
15
+ bottom: 0;
16
+ right: 0;
17
+ background: rgba(255, 255, 255, 0.8);
18
+ padding: 0px 5px;
19
+ }
20
+ </style>
21
+
22
+ <div style="width: 100%; height: 100%; position: relative">
23
+ <div id="map" style="width: 100%; height: 100%"></div>
24
+ <button id="button" type="button" class="geops-ui">Toggle copyright</button>
25
+ <div id="copyright"></div>
26
+ </div>
@@ -0,0 +1,37 @@
1
+ import { Map } from 'maplibre-gl';
2
+ import { CopyrightControl } from '../../mapbox';
3
+ import 'maplibre-gl/dist/maplibre-gl.css';
4
+
5
+ export default () => {
6
+ // Define the map
7
+ const map = new Map({
8
+ container: 'map',
9
+ style: `https://maps.geops.io/styles/travic_v2/style.json?key=${window.apiKey}`,
10
+ center: [7.47, 46.95],
11
+ zoom: 12,
12
+ attributionControl: false,
13
+ });
14
+
15
+ // Define a custom copyright
16
+ const control = new CopyrightControl({
17
+ target: document.getElementById('copyright'),
18
+ element: document.createElement('div'),
19
+ render() {
20
+ this.element.innerHTML = this.active
21
+ ? this.getCopyrights().join(' | ')
22
+ : '';
23
+ },
24
+ });
25
+
26
+ // Attach the control to the map
27
+ control.map = map;
28
+
29
+ // Add example button to toggle the copyright control.
30
+ document.getElementById('button').addEventListener('click', () => {
31
+ if (control.map) {
32
+ control.map = null;
33
+ } else {
34
+ control.map = map;
35
+ }
36
+ });
37
+ };
@@ -0,0 +1 @@
1
+ <div id="map" style="width: 100%; height: 100%;"></div>
@@ -0,0 +1,39 @@
1
+ import { Map } from 'maplibre-gl';
2
+ import { TralisLayer, CopyrightControl } from '../../mapbox';
3
+ import 'maplibre-gl/dist/maplibre-gl.css';
4
+
5
+ export default () => {
6
+ // Define the map
7
+ const map = new Map({
8
+ container: 'map',
9
+ style: `https://maps.geops.io/styles/travic_v2/style.json?key=${window.apiKey}`,
10
+ center: [7.47, 46.95],
11
+ zoom: 12,
12
+ touchPitch: false,
13
+ pitchWithRotate: false,
14
+ attributionControl: false,
15
+ });
16
+
17
+ const control = new CopyrightControl();
18
+ control.map = map;
19
+
20
+ // Define the layer
21
+ const tracker = new TralisLayer({
22
+ url: 'wss://api.geops.io/tracker-ws/v1/',
23
+ apiKey: window.apiKey,
24
+ });
25
+
26
+ // Add the layer to the map
27
+ tracker.init(map);
28
+
29
+ // Remove the layer from the map
30
+ // tracker.terminate(map);
31
+
32
+ // Display informations on click in the console
33
+ tracker.onClick(([feature]) => {
34
+ if (feature) {
35
+ // eslint-disable-next-line no-console
36
+ console.log(`trajectory: ${feature.getProperties()}`);
37
+ }
38
+ });
39
+ };
@@ -0,0 +1 @@
1
+ Follow [this link](https://developer.geops.io/) to get information about the API and how to get an API key.
@@ -0,0 +1 @@
1
+ <div id="map" style="width: 100%; height: 100%;"></div>
@@ -0,0 +1,34 @@
1
+ import { Map } from 'maplibre-gl';
2
+ import { toLonLat } from 'ol/proj';
3
+ import { TralisLayer, CopyrightControl } from '../../mapbox';
4
+ import 'maplibre-gl/dist/maplibre-gl.css';
5
+
6
+ export default () => {
7
+ const map = new Map({
8
+ container: 'map',
9
+ style: 'https://maps.geops.io/styles/travic_v2/style.json',
10
+ apiKey: window.apiKey,
11
+ center: toLonLat([1282278, 6128615]),
12
+ zoom: 9,
13
+ attributionControl: false,
14
+ });
15
+
16
+ const control = new CopyrightControl();
17
+ control.map = map;
18
+
19
+ const tracker = new TralisLayer({
20
+ url: '',
21
+ apiKey: '',
22
+ });
23
+
24
+ map.on('load', () => {
25
+ tracker.init(map, 'waterway-name');
26
+ });
27
+
28
+ tracker.onClick(([feature]) => {
29
+ if (feature) {
30
+ // eslint-disable-next-line no-console
31
+ console.log(feature.getProperties());
32
+ }
33
+ });
34
+ };
@@ -0,0 +1,26 @@
1
+ <style>
2
+ #button,
3
+ #copyright {
4
+ margin: 10px 10px;
5
+ }
6
+
7
+ #button {
8
+ position: absolute;
9
+ bottom: 0;
10
+ left: 0;
11
+ }
12
+
13
+ #copyright {
14
+ position: absolute;
15
+ bottom: 0;
16
+ right: 0;
17
+ background: rgba(255, 255, 255, 0.8);
18
+ padding: 0px 5px;
19
+ }
20
+ </style>
21
+
22
+ <div style="width: 100%; height: 100%; position: relative">
23
+ <div id="map" style="width: 100%; height: 100%"></div>
24
+ <button id="button" type="button" class="geops-ui">Toggle copyright</button>
25
+ <div id="copyright"></div>
26
+ </div>
@@ -0,0 +1,43 @@
1
+ import { Map, View } from 'ol';
2
+ import { MaplibreLayer, CopyrightControl } from '../../ol';
3
+ import 'ol/ol.css';
4
+
5
+ export default () => {
6
+ // Define the map
7
+ const map = new Map({
8
+ target: 'map',
9
+ view: new View({
10
+ center: [0, 0],
11
+ zoom: 1,
12
+ }),
13
+ controls: [],
14
+ });
15
+
16
+ // Define a custom rendering for the copyright
17
+ const control = new CopyrightControl({
18
+ target: document.getElementById('copyright'),
19
+ element: document.createElement('div'),
20
+ render() {
21
+ this.element.innerHTML = this.active
22
+ ? this.getCopyrights().join(' | ')
23
+ : '';
24
+ },
25
+ });
26
+
27
+ // Attach to the map
28
+ control.map = map;
29
+
30
+ // Define the Mapbox style to display
31
+ const mapboxLayer = new MaplibreLayer({
32
+ url: 'https://maps.geops.io/styles/travic_v2/style.json',
33
+ apiKey: window.apiKey,
34
+ });
35
+
36
+ // Display the Mapbox style on the map
37
+ mapboxLayer.init(map);
38
+
39
+ // Toggle the copyright control.
40
+ document.getElementById('button').addEventListener('click', () => {
41
+ control.map = control.map ? null : map;
42
+ });
43
+ };
@@ -0,0 +1 @@
1
+ <div id="map" style="width: 100%; height: 100%"></div>
@@ -0,0 +1,28 @@
1
+ import { Map, View } from 'ol';
2
+ import { MaplibreLayer, CopyrightControl } from '../../ol';
3
+ import 'ol/ol.css';
4
+
5
+ export default () => {
6
+ // Define the map
7
+ const map = new Map({
8
+ target: 'map',
9
+ view: new View({
10
+ center: [0, 0],
11
+ zoom: 1,
12
+ }),
13
+ controls: [],
14
+ });
15
+
16
+ // Add copyright control
17
+ const control = new CopyrightControl();
18
+ control.map = map;
19
+
20
+ // Define the Mapbox style to display
21
+ const layer = new MaplibreLayer({
22
+ url: 'https://maps.geops.io/styles/travic_v2/style.json',
23
+ apiKey: window.apiKey,
24
+ });
25
+
26
+ // Display the Mapbox style on the map
27
+ layer.init(map);
28
+ };
File without changes
@@ -0,0 +1,12 @@
1
+ <style>
2
+ #button {
3
+ position: absolute;
4
+ margin: 10px 10px;
5
+ bottom: 0;
6
+ left: 0;
7
+ }
8
+ </style>
9
+ <div style="width: 100%; height: 100%; position: relative">
10
+ <div id="map" style="width: 100%; height: 100%"></div>
11
+ <button id="button" type="button" class="geops-ui">Hide the POIs</button>
12
+ </div>
@@ -0,0 +1,44 @@
1
+ import { Map, View } from 'ol';
2
+ import { MaplibreLayer, MapboxStyleLayer, CopyrightControl } from '../../ol';
3
+ import 'ol/ol.css';
4
+
5
+ export default () => {
6
+ // Define the map
7
+ const map = new Map({
8
+ target: 'map',
9
+ view: new View({
10
+ center: [950690.34, 6003962.67],
11
+ zoom: 20,
12
+ }),
13
+ controls: [],
14
+ });
15
+
16
+ // Add copyright control
17
+ const control = new CopyrightControl();
18
+ control.map = map;
19
+
20
+ // Define the Mapbox style to display
21
+ const mapboxLayer = new MaplibreLayer({
22
+ url: 'https://maps.geops.io/styles/travic_v2/style.json',
23
+ apiKey: window.apiKey,
24
+ });
25
+
26
+ // Display the style on the map
27
+ mapboxLayer.init(map);
28
+
29
+ // Define the list of Mapbox style layers representing the pois.
30
+ const poiLayer = new MapboxStyleLayer({
31
+ mapboxLayer,
32
+ styleLayersFilter: ({ id }) => /^poi_/.test(id),
33
+ });
34
+
35
+ // Display the pois on the map
36
+ poiLayer.init(map);
37
+
38
+ // Toggle pois visibility
39
+ document.getElementById('button').addEventListener('click', (evt) => {
40
+ poiLayer.setVisible(!poiLayer.visible);
41
+ const { target } = evt;
42
+ target.innerHTML = `${poiLayer.visible ? 'Hide' : 'Show'} the POIs`;
43
+ });
44
+ };
@@ -0,0 +1,32 @@
1
+ <style>
2
+ div#box {
3
+ position: absolute;
4
+ z-index: 1;
5
+ top: 100px;
6
+ left: 10px;
7
+ width: 200px;
8
+ padding: 10px;
9
+ background-color: #FFFFFF;
10
+ border-radius: 5px;
11
+ font-family: Lato, Arial, sans-serif;
12
+ color: #353535;
13
+ }
14
+
15
+ div#box .heading {
16
+ font-weight: bold;
17
+ font-size: 22px;
18
+ line-height: 27px;
19
+ }
20
+
21
+ div#box #content {
22
+ font-size: 18px;
23
+ line-height: 22px;
24
+ }
25
+ </style>
26
+ <div style="width: 100%; height: 100%; position: relative;">
27
+ <div id="box">
28
+ <div class="heading">Query result</div>
29
+ <div id="content">Click on a feature.</div>
30
+ </div>
31
+ <div id="map" style="width: 100%; height: 100%;"></div>
32
+ </div>