mobility-toolbox-js 2.0.0-beta.8 → 2.0.1-beta.13

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 (304) hide show
  1. package/api/RoutingAPI.js +15 -0
  2. package/api/RoutingAPI.test.js +25 -0
  3. package/api/StopsAPI.js +12 -0
  4. package/api/StopsAPI.test.js +22 -0
  5. package/api/TralisAPI.js +359 -0
  6. package/api/TralisAPI.test.js +67 -0
  7. package/{src/api/tralis → api}/TralisAPIUtils.js +2 -32
  8. package/api/index.js +3 -0
  9. package/{index.html → api/typedefs.js} +0 -0
  10. package/common/Tracker.js +93 -0
  11. package/common/api/HttpAPI.js +30 -0
  12. package/common/api/HttpAPI.test.js +50 -0
  13. package/common/api/WebSocketAPI.js +175 -0
  14. package/{src/api/tralis/WebSocketConnector.test.js → common/api/WebSocketAPI.test.js} +100 -145
  15. package/common/controls/Control.js +81 -0
  16. package/{src/common → common}/controls/Control.test.js +32 -43
  17. package/common/index.js +4 -0
  18. package/common/layers/Layer.js +213 -0
  19. package/{src/common → common}/layers/Layer.test.js +185 -244
  20. package/common/mixins/CopyrightMixin.js +24 -0
  21. package/common/mixins/SearchMixin.js +110 -0
  22. package/common/mixins/TralisLayerMixin.js +479 -0
  23. package/common/styles/index.js +4 -0
  24. package/{src/common → common}/styles/trackerDefaultStyle.js +39 -175
  25. package/common/styles/trackerDelayStyle.js +8 -0
  26. package/{src/common → common}/styles/trackerSimpleStyle.js +4 -8
  27. package/{src/common → common}/trackerConfig.js +61 -99
  28. package/common/trackerConfig.test.js +23 -0
  29. package/{src/doc/examples/ol-mapbox-layer.md → common/typedefs.js} +0 -0
  30. package/common/utils/createTrackerFilters.js +56 -0
  31. package/common/utils/createTrackerFilters.test.js +79 -0
  32. package/{src/common → common}/utils/getMapboxMapCopyrights.js +3 -16
  33. package/common/utils/getMapboxMapCopyrights.test.js +40 -0
  34. package/{src/common → common}/utils/getMapboxStyleUrl.js +3 -13
  35. package/{src/common → common}/utils/getVehiclePosition.js +3 -33
  36. package/common/utils/index.js +5 -0
  37. package/common/utils/removeDuplicate.js +8 -0
  38. package/common/utils/removeDuplicate.test.js +19 -0
  39. package/{src/common → common}/utils/sortByDelay.js +2 -7
  40. package/common/utils/timeUtils.js +20 -0
  41. package/common/utils/timeUtils.test.js +10 -0
  42. package/index.js +8 -0
  43. package/mapbox/controls/CopyrightControl.js +29 -0
  44. package/mapbox/controls/index.js +1 -0
  45. package/mapbox/index.js +4 -0
  46. package/mapbox/layers/Layer.js +57 -0
  47. package/mapbox/layers/Layer.test.js +182 -0
  48. package/mapbox/layers/TralisLayer.js +182 -0
  49. package/{src/mapbox → mapbox}/layers/TralisLayer.test.js +12 -14
  50. package/mapbox/layers/index.js +2 -0
  51. package/{src/mapbox → mapbox}/utils.js +7 -21
  52. package/mbt.js +50444 -0
  53. package/mbt.js.map +7 -0
  54. package/mbt.min.js +1005 -0
  55. package/mbt.min.js.map +7 -0
  56. package/ol/controls/CopyrightControl.js +42 -0
  57. package/ol/controls/CopyrightControl.test.js +165 -0
  58. package/ol/controls/RoutingControl.js +387 -0
  59. package/ol/controls/RoutingControl.test.js +151 -0
  60. package/ol/controls/StopFinderControl.js +10 -0
  61. package/ol/controls/StopFinderControl.test.js +48 -0
  62. package/ol/controls/index.js +3 -0
  63. package/ol/index.js +5 -0
  64. package/ol/layers/Layer.js +88 -0
  65. package/ol/layers/Layer.test.js +174 -0
  66. package/ol/layers/MapboxLayer.js +203 -0
  67. package/{src/ol → ol}/layers/MapboxLayer.test.js +58 -84
  68. package/ol/layers/MapboxStyleLayer.js +187 -0
  69. package/{src/ol → ol}/layers/MapboxStyleLayer.test.js +97 -128
  70. package/ol/layers/MaplibreLayer.js +139 -0
  71. package/ol/layers/RoutingLayer.js +61 -0
  72. package/{src/ol → ol}/layers/RoutingLayer.test.js +15 -24
  73. package/ol/layers/TralisLayer.js +185 -0
  74. package/ol/layers/TralisLayer.test.js +79 -0
  75. package/ol/layers/VectorLayer.js +22 -0
  76. package/{src/ol → ol}/layers/VectorLayer.test.js +34 -45
  77. package/ol/layers/WMSLayer.js +38 -0
  78. package/ol/layers/WMSLayer.test.js +76 -0
  79. package/ol/layers/index.js +8 -0
  80. package/{src/ol → ol}/styles/fullTrajectoryDelayStyle.js +11 -15
  81. package/ol/styles/fullTrajectoryStyle.js +43 -0
  82. package/ol/styles/index.js +2 -0
  83. package/package.json +34 -74
  84. package/.babelrc +0 -6
  85. package/.esdoc.json +0 -17
  86. package/.eslintignore +0 -1
  87. package/.github/workflows/conventional-pr-title.yml +0 -21
  88. package/.github/workflows/cypress.yml +0 -29
  89. package/.github/workflows/nodejs.yml +0 -28
  90. package/.husky/commit-msg +0 -4
  91. package/.husky/post-checkout +0 -4
  92. package/.husky/post-merge +0 -4
  93. package/.husky/post-rebase +0 -4
  94. package/.husky/pre-commit +0 -4
  95. package/.neutrinorc.js +0 -176
  96. package/.nvmrc +0 -1
  97. package/CHANGELOG.md +0 -10
  98. package/LICENSE +0 -21
  99. package/__mocks__/mapbox-gl.js +0 -81
  100. package/__mocks__/maplibre-gl.js +0 -81
  101. package/commitlint.config.js +0 -1
  102. package/cypress/fixtures/example.json +0 -5
  103. package/cypress/integration/examples/api.spec.js +0 -7
  104. package/cypress/integration/examples/examples.spec.js +0 -7
  105. package/cypress/integration/examples/navigation.spec.js +0 -29
  106. package/cypress/plugins/index.js +0 -21
  107. package/cypress/support/commands.js +0 -25
  108. package/cypress/support/index.js +0 -20
  109. package/cypress.json +0 -4
  110. package/data/fetchRoute.json +0 -292
  111. package/data/fetchTrajectories.json +0 -18
  112. package/data/fetchTrajectoryById.json +0 -3
  113. package/data/fetchTrajectoryStations.json +0 -18
  114. package/data/stopsSearch.json +0 -15
  115. package/documentation.yml +0 -4
  116. package/esdoc/README.md +0 -27
  117. package/esdoc/plugins/MyPlugin.js +0 -69
  118. package/esdoc/plugins/dynamic-property-plugin/Plugin.js +0 -50
  119. package/esdoc/plugins/externals-plugin/Plugin.js +0 -45
  120. package/esdoc/plugins/externals-plugin/externals.js +0 -96
  121. package/global-setup.js +0 -3
  122. package/indexweb.html +0 -49
  123. package/jest.config.js +0 -5
  124. package/pull_request_template.md +0 -17
  125. package/renovate.json +0 -4
  126. package/scripts/read-pkg-json.js +0 -22
  127. package/src/api/index.js +0 -3
  128. package/src/api/routing/RoutingAPI.js +0 -44
  129. package/src/api/routing/RoutingAPI.test.js +0 -41
  130. package/src/api/stops/StopsAPI.js +0 -41
  131. package/src/api/stops/StopsAPI.test.js +0 -34
  132. package/src/api/tralis/TralisAPI.js +0 -731
  133. package/src/api/tralis/TralisAPI.test.js +0 -75
  134. package/src/api/tralis/WebSocketConnector.js +0 -338
  135. package/src/api/tralis/typedefs.js +0 -81
  136. package/src/assets/Lato-Black.ttf +0 -0
  137. package/src/assets/Lato-BlackItalic.ttf +0 -0
  138. package/src/assets/Lato-Bold.ttf +0 -0
  139. package/src/assets/Lato-BoldItalic.ttf +0 -0
  140. package/src/assets/Lato-Italic.ttf +0 -0
  141. package/src/assets/Lato-Light.ttf +0 -0
  142. package/src/assets/Lato-LightItalic.ttf +0 -0
  143. package/src/assets/Lato-Regular.ttf +0 -0
  144. package/src/assets/Lato-Thin.ttf +0 -0
  145. package/src/assets/Lato-ThinItalic.ttf +0 -0
  146. package/src/assets/OFL.txt +0 -93
  147. package/src/common/Tracker.js +0 -197
  148. package/src/common/api/api.js +0 -64
  149. package/src/common/api/api.test.js +0 -68
  150. package/src/common/controls/Control.js +0 -146
  151. package/src/common/index.js +0 -5
  152. package/src/common/layers/Layer.js +0 -404
  153. package/src/common/mixins/CopyrightMixin.js +0 -48
  154. package/src/common/mixins/SearchMixin.js +0 -176
  155. package/src/common/mixins/TralisLayerMixin.js +0 -930
  156. package/src/common/styles/index.js +0 -4
  157. package/src/common/styles/trackerDelayStyle.js +0 -17
  158. package/src/common/trackerConfig.test.js +0 -25
  159. package/src/common/typedefs.js +0 -23
  160. package/src/common/utils/createTrackerFilters.js +0 -87
  161. package/src/common/utils/createTrackerFilters.test.js +0 -95
  162. package/src/common/utils/getMapboxMapCopyrights.test.js +0 -47
  163. package/src/common/utils/index.js +0 -5
  164. package/src/common/utils/removeDuplicate.js +0 -22
  165. package/src/common/utils/removeDuplicate.test.js +0 -22
  166. package/src/common/utils/timeUtils.js +0 -44
  167. package/src/common/utils/timeUtils.test.js +0 -16
  168. package/src/doc/App.js +0 -116
  169. package/src/doc/App.scss +0 -51
  170. package/src/doc/_redirects +0 -2
  171. package/src/doc/components/CodeSandboxButton.js +0 -103
  172. package/src/doc/components/Documentation.js +0 -40
  173. package/src/doc/components/Esdoc/Anchor.js +0 -57
  174. package/src/doc/components/Esdoc/ClassDoc.js +0 -272
  175. package/src/doc/components/Esdoc/DeprecatedHTML.js +0 -16
  176. package/src/doc/components/Esdoc/DetailDocs.js +0 -281
  177. package/src/doc/components/Esdoc/DetailHTML.js +0 -33
  178. package/src/doc/components/Esdoc/DirectSubclassHTML.js +0 -30
  179. package/src/doc/components/Esdoc/DocBuilderUtils.js +0 -694
  180. package/src/doc/components/Esdoc/DocLinkHTML.js +0 -62
  181. package/src/doc/components/Esdoc/DocsLinkHTML.js +0 -38
  182. package/src/doc/components/Esdoc/Esdoc.js +0 -63
  183. package/src/doc/components/Esdoc/EsdocContent.js +0 -51
  184. package/src/doc/components/Esdoc/EsdocNavigation.js +0 -13
  185. package/src/doc/components/Esdoc/EsdocSearch.js +0 -81
  186. package/src/doc/components/Esdoc/ExperimentalHTML.js +0 -17
  187. package/src/doc/components/Esdoc/ExtendsChainHTML.js +0 -32
  188. package/src/doc/components/Esdoc/FileDocLinkHTML.js +0 -60
  189. package/src/doc/components/Esdoc/IdentifiersDoc.js +0 -113
  190. package/src/doc/components/Esdoc/IndirectSubclassHTML.js +0 -30
  191. package/src/doc/components/Esdoc/InheritedSummaryDoc.js +0 -70
  192. package/src/doc/components/Esdoc/InheritedSummaryHTML.js +0 -38
  193. package/src/doc/components/Esdoc/MixinClassesHTML.js +0 -29
  194. package/src/doc/components/Esdoc/NavDoc.js +0 -112
  195. package/src/doc/components/Esdoc/OverrideMethod.js +0 -44
  196. package/src/doc/components/Esdoc/OverrideMethodDescription.js +0 -35
  197. package/src/doc/components/Esdoc/Properties.js +0 -89
  198. package/src/doc/components/Esdoc/README.md +0 -45
  199. package/src/doc/components/Esdoc/SignatureHTML.js +0 -123
  200. package/src/doc/components/Esdoc/SingleDoc.js +0 -31
  201. package/src/doc/components/Esdoc/SummaryDoc.js +0 -160
  202. package/src/doc/components/Esdoc/SummaryHTML.js +0 -96
  203. package/src/doc/components/Esdoc/TypeDocLinkHTML.js +0 -249
  204. package/src/doc/components/Esdoc/css/identifiers.css +0 -38
  205. package/src/doc/components/Esdoc/css/search.css +0 -76
  206. package/src/doc/components/Esdoc/css/style.css +0 -603
  207. package/src/doc/components/Esdoc/index.js +0 -7
  208. package/src/doc/components/Example.js +0 -153
  209. package/src/doc/components/Examples.js +0 -183
  210. package/src/doc/components/Home.js +0 -106
  211. package/src/doc/components/TrackerExample.js +0 -38
  212. package/src/doc/examples/assets/tralis-live-map/index.js +0 -11
  213. package/src/doc/examples/assets/tralis-live-map/s1kreis.svg +0 -105
  214. package/src/doc/examples/assets/tralis-live-map/s20kreis.svg +0 -101
  215. package/src/doc/examples/assets/tralis-live-map/s2kreis.svg +0 -95
  216. package/src/doc/examples/assets/tralis-live-map/s3kreis.svg +0 -95
  217. package/src/doc/examples/assets/tralis-live-map/s4kreis.svg +0 -95
  218. package/src/doc/examples/assets/tralis-live-map/s6kreis.svg +0 -95
  219. package/src/doc/examples/assets/tralis-live-map/s7kreis.svg +0 -95
  220. package/src/doc/examples/assets/tralis-live-map/s8kreis.svg +0 -93
  221. package/src/doc/examples/assets/tralis-live-map/unknown.svg +0 -107
  222. package/src/doc/examples/mb-copyright.html +0 -26
  223. package/src/doc/examples/mb-copyright.js +0 -37
  224. package/src/doc/examples/mb-tracker.html +0 -1
  225. package/src/doc/examples/mb-tracker.js +0 -39
  226. package/src/doc/examples/mb-tracker.md +0 -1
  227. package/src/doc/examples/mb-tralis.html +0 -1
  228. package/src/doc/examples/mb-tralis.js +0 -34
  229. package/src/doc/examples/ol-copyright.html +0 -26
  230. package/src/doc/examples/ol-copyright.js +0 -43
  231. package/src/doc/examples/ol-mapbox-layer.html +0 -1
  232. package/src/doc/examples/ol-mapbox-layer.js +0 -28
  233. package/src/doc/examples/ol-mapbox-style-layer.html +0 -12
  234. package/src/doc/examples/ol-mapbox-style-layer.js +0 -44
  235. package/src/doc/examples/ol-query.html +0 -32
  236. package/src/doc/examples/ol-query.js +0 -83
  237. package/src/doc/examples/ol-routing.html +0 -26
  238. package/src/doc/examples/ol-routing.js +0 -59
  239. package/src/doc/examples/ol-routing.md +0 -1
  240. package/src/doc/examples/ol-stop-finder.html +0 -15
  241. package/src/doc/examples/ol-stop-finder.js +0 -31
  242. package/src/doc/examples/ol-stop-finder.md +0 -1
  243. package/src/doc/examples/ol-tracker.html +0 -1
  244. package/src/doc/examples/ol-tracker.js +0 -44
  245. package/src/doc/examples/ol-tracker.md +0 -1
  246. package/src/doc/examples/ol-tralis.html +0 -5
  247. package/src/doc/examples/ol-tralis.js +0 -57
  248. package/src/doc/examples/tralis-live-map.html +0 -1
  249. package/src/doc/examples/tralis-live-map.js +0 -51
  250. package/src/doc/examples/tralis-live-map.md +0 -3
  251. package/src/doc/examples.js +0 -107
  252. package/src/doc/img/examples/live_tracker_mb.jpg +0 -0
  253. package/src/doc/img/examples/live_tracker_munich.jpg +0 -0
  254. package/src/doc/img/examples/live_tracker_ol.jpg +0 -0
  255. package/src/doc/img/examples/mapbox.jpg +0 -0
  256. package/src/doc/img/examples/mapbox_style.jpg +0 -0
  257. package/src/doc/img/examples/ol-copyright.png +0 -0
  258. package/src/doc/img/examples/query_objects.jpg +0 -0
  259. package/src/doc/img/examples/routing.jpg +0 -0
  260. package/src/doc/img/examples/simple_map.jpg +0 -0
  261. package/src/doc/img/examples/stops.jpg +0 -0
  262. package/src/doc/img/favico.ico +0 -0
  263. package/src/doc/index.js +0 -21
  264. package/src/iife.js +0 -7
  265. package/src/index.js +0 -10
  266. package/src/mapbox/controls/CopyrightControl.js +0 -58
  267. package/src/mapbox/controls/index.js +0 -2
  268. package/src/mapbox/index.js +0 -4
  269. package/src/mapbox/layers/Layer.js +0 -118
  270. package/src/mapbox/layers/Layer.test.js +0 -202
  271. package/src/mapbox/layers/TralisLayer.js +0 -329
  272. package/src/mapbox/layers/index.js +0 -2
  273. package/src/ol/README.md +0 -0
  274. package/src/ol/controls/CopyrightControl.js +0 -80
  275. package/src/ol/controls/CopyrightControl.test.js +0 -211
  276. package/src/ol/controls/RoutingControl.js +0 -752
  277. package/src/ol/controls/RoutingControl.test.js +0 -216
  278. package/src/ol/controls/StopFinderControl.js +0 -38
  279. package/src/ol/controls/StopFinderControl.test.js +0 -59
  280. package/src/ol/controls/index.js +0 -3
  281. package/src/ol/controls/snapshots/RoutingControlRouteGen10.json +0 -58
  282. package/src/ol/controls/snapshots/RoutingControlRouteGen100.json +0 -292
  283. package/src/ol/controls/snapshots/RoutingControlRouteGen30.json +0 -69
  284. package/src/ol/controls/snapshots/RoutingControlRouteGen5.json +0 -58
  285. package/src/ol/controls/snapshots/RoutingControlRouteOSM.json +0 -759
  286. package/src/ol/controls/snapshots/RoutingControlStation1.json +0 -60
  287. package/src/ol/controls/snapshots/RoutingControlStation2.json +0 -49
  288. package/src/ol/index.js +0 -5
  289. package/src/ol/layers/Layer.js +0 -193
  290. package/src/ol/layers/Layer.test.js +0 -197
  291. package/src/ol/layers/MapboxLayer.js +0 -378
  292. package/src/ol/layers/MapboxStyleLayer.js +0 -417
  293. package/src/ol/layers/MaplibreLayer.js +0 -280
  294. package/src/ol/layers/RoutingLayer.js +0 -91
  295. package/src/ol/layers/TralisLayer.js +0 -359
  296. package/src/ol/layers/TralisLayer.test.js +0 -97
  297. package/src/ol/layers/VectorLayer.js +0 -43
  298. package/src/ol/layers/WMSLayer.js +0 -80
  299. package/src/ol/layers/WMSLayer.test.js +0 -84
  300. package/src/ol/layers/index.js +0 -8
  301. package/src/ol/styles/fullTrajectoryStyle.js +0 -51
  302. package/src/ol/styles/index.js +0 -2
  303. package/src/setupTests.js +0 -15
  304. package/webpack.config.js +0 -6
@@ -1,59 +0,0 @@
1
- import View from 'ol/View';
2
- import Map from 'ol/Map';
3
- import { MaplibreLayer, CopyrightControl, RoutingControl } from '../../ol';
4
- import 'ol/ol.css';
5
-
6
- export default () => {
7
- const map = new Map({
8
- target: 'map',
9
- view: new View({
10
- center: [950690.34, 6003962.67],
11
- zoom: 15,
12
- }),
13
- controls: [],
14
- });
15
-
16
- const mapboxLayer = new MaplibreLayer({
17
- url: `https://maps.geops.io/styles/travic_v2/style.json?key=${window.apiKey}`,
18
- });
19
- mapboxLayer.init(map);
20
-
21
- const copyright = new CopyrightControl();
22
- copyright.map = map;
23
-
24
- const control = new RoutingControl({
25
- element: document.createElement('div'),
26
- apiKey: `${window.apiKey}`,
27
- });
28
- control.map = map;
29
-
30
- control.addViaPoint([950476.4055933182, 6003322.253698345]);
31
- control.addViaPoint([950389.0813034325, 6003656.659274571]);
32
- control.addViaPoint('29563461696e881d');
33
-
34
- // Add example button to toggle the RoutingControl.
35
- document.getElementById('control-button').addEventListener('click', (e) => {
36
- e.target.innerHTML = control.active
37
- ? 'Activate RoutingControl'
38
- : 'Deactivate RoutingControl';
39
- if (control.active) {
40
- control.active = false;
41
- } else {
42
- control.active = true;
43
- }
44
- });
45
-
46
- // Add example button to toggle the RoutingControl mot.
47
- document.getElementById('mot-button').addEventListener('click', (e) => {
48
- e.target.innerHTML =
49
- control.mot === 'bus'
50
- ? 'Switch to bus routing'
51
- : 'Switch to foot routing';
52
- control.mot = control.mot === 'bus' ? 'foot' : 'bus';
53
- });
54
-
55
- // Add example button to toggle the RoutingControl mot.
56
- document.getElementById('reset-button').addEventListener('click', () => {
57
- control.reset();
58
- });
59
- };
@@ -1 +0,0 @@
1
- Follow [this link](https://developer.geops.io/) to get information about the API and how to get an API key.
@@ -1,15 +0,0 @@
1
- <style>
2
-
3
- #mbt-search > div > div:hover {
4
- background-color: lightgray;
5
- }
6
-
7
- #mbt-search {
8
- max-height: 90%;
9
- }
10
-
11
- </style>
12
-
13
- <div style="width: 100%; height: 100%; position: relative;">
14
- <div id="map" style="width: 100%; height: 100%;"></div>
15
- </div>
@@ -1,31 +0,0 @@
1
- import View from 'ol/View';
2
- import Map from 'ol/Map';
3
- import { MapboxLayer, CopyrightControl, StopFinderControl } from '../../ol';
4
- import 'ol/ol.css';
5
-
6
- export default () => {
7
- const map = new Map({
8
- target: 'map',
9
- view: new View({
10
- center: [950690.34, 6003962.67],
11
- zoom: 15,
12
- }),
13
- controls: [],
14
- });
15
-
16
- const copyright = new CopyrightControl();
17
- copyright.map = map;
18
-
19
- const stopFinder = new StopFinderControl({
20
- apiKey: window.apiKey,
21
- });
22
- stopFinder.map = map;
23
-
24
- const mapboxLayer = new MapboxLayer({
25
- url: 'https://maps.geops.io/styles/travic_v2/style.json',
26
- apiKey: window.apiKey,
27
- });
28
- mapboxLayer.init(map);
29
-
30
- map.on('singleclick', () => stopFinder.clear());
31
- };
@@ -1 +0,0 @@
1
- Follow [this link](https://developer.geops.io/) to get information about the API and how to get an API key.
@@ -1 +0,0 @@
1
- <div id="map" style="width: 100%; height: 100%;"></div>
@@ -1,44 +0,0 @@
1
- import { Map, View } from 'ol';
2
- import {
3
- TralisLayer,
4
- MaplibreLayer,
5
- CopyrightControl,
6
- trackerDelayStyle,
7
- } from '../../ol';
8
- import { sortByDelay } from '../../common/utils';
9
- import 'ol/ol.css';
10
-
11
- export default () => {
12
- const map = new Map({
13
- target: 'map',
14
- view: new View({
15
- center: [831634, 5933959],
16
- zoom: 13,
17
- }),
18
- controls: [],
19
- });
20
-
21
- const control = new CopyrightControl();
22
- control.map = map;
23
-
24
- const layer = new MaplibreLayer({
25
- url: 'https://maps.geops.io/styles/travic_v2/style.json',
26
- apiKey: window.apiKey,
27
- });
28
- layer.init(map);
29
-
30
- const tracker = new TralisLayer({
31
- url: 'wss://api.geops.io/tracker-ws/v1/',
32
- apiKey: window.apiKey,
33
- style: trackerDelayStyle,
34
- sort: sortByDelay,
35
- });
36
- tracker.init(map);
37
-
38
- tracker.onClick(([feature]) => {
39
- if (feature) {
40
- // eslint-disable-next-line no-console
41
- console.log(feature.getProperties());
42
- }
43
- });
44
- };
@@ -1 +0,0 @@
1
- Follow [this link](https://developer.geops.io/) to get information about the API and how to get an API key.
@@ -1,5 +0,0 @@
1
- <div id="map" style="width: 100%; height: 100%;"></div>
2
- <button id="button">Show/hide</button>
3
- <button id="close">Kill</button>
4
- <button id="bbox">Send same bbox</button>
5
- <button id="terminate">terminate</button>
@@ -1,57 +0,0 @@
1
- import View from 'ol/View';
2
- import Map from 'ol/Map';
3
- import { TralisLayer, MapboxLayer, CopyrightControl } from '../../ol';
4
-
5
- export default () => {
6
- const map = new Map({
7
- target: 'map',
8
- view: new View({
9
- // center: max,
10
- center: [831634, 5933959],
11
- zoom: 13,
12
- // center: fromLonLat([7.841148, 47.996542]), // freiburg
13
- // center: fromLonLat([11.55, 48.14]), // munich
14
- }),
15
- controls: [],
16
- });
17
-
18
- const control = new CopyrightControl();
19
- control.map = map;
20
-
21
- const layer = new MapboxLayer({
22
- url: 'https://maps.geops.io/styles/travic_v2/style.json',
23
- apiKey: window.apiKey,
24
- });
25
- layer.init(map);
26
-
27
- const tracker = new TralisLayer({
28
- url: 'wss://api.geops.io/tracker-ws/v1/',
29
- apiKey: window.apiKey,
30
- // bbox: [1152072, 6048052, 1433666, 6205578],
31
- isUpdateBboxOnMoveEnd: true,
32
- visible: true,
33
- tenant: 'sbb',
34
- // projection: 'EPSG:3857',
35
- // regexPublishedLineName: '^(S|R$|RE|PE|D|IRE|RB|TER)',
36
- });
37
- tracker.init(map);
38
- tracker.onClick(([feature]) => {
39
- if (feature) {
40
- // eslint-disable-next-line no-console
41
- console.log(feature.getProperties());
42
- }
43
- });
44
- document.getElementById('button').onclick = () => {
45
- tracker.setVisible(!tracker.visible);
46
- };
47
- document.getElementById('close').onclick = () => {
48
- tracker.api.conn.websocket.close();
49
- window.lastWs = tracker.api.conn.websocket;
50
- };
51
- document.getElementById('bbox').onclick = () => {
52
- tracker.api.conn.websocket.send(`BBOX ${tracker.api.bbox.join(' ')}`);
53
- };
54
- document.getElementById('terminate').onclick = () => {
55
- tracker.api.conn.websocket.terminate();
56
- };
57
- };
@@ -1 +0,0 @@
1
- <div id="map" style="width: 100%; height: 100%;"></div>
@@ -1,51 +0,0 @@
1
- import { Map } from 'mapbox-gl';
2
- import { TralisLayer, CopyrightControl } from '../../mapbox';
3
- import 'maplibre-gl/dist/maplibre-gl.css';
4
- import LINE_IMAGES from './assets/tralis-live-map';
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: [11.55, 48.14],
12
- zoom: 10,
13
- touchPitch: false,
14
- pitchWithRotate: false,
15
- attributionControl: false,
16
- });
17
-
18
- const control = new CopyrightControl();
19
- control.map = map;
20
-
21
- const cache = {};
22
- const tracker = new TralisLayer({
23
- url: 'wss://api.geops.io/realtime-ws/v1/',
24
- isUpdateBboxOnMoveEnd: false,
25
- apiKey: window.apiKey,
26
- bbox: [1152072, 6048052, 1433666, 6205578],
27
- style: (props) => {
28
- let { name } = props.line || {};
29
- if (!name || !LINE_IMAGES[name]) {
30
- name = 'unknown';
31
- }
32
- if (!cache[name]) {
33
- const img = new Image();
34
- img.src = LINE_IMAGES[name];
35
- img.width = 25 * window.devicePixelRatio;
36
- img.height = 25 * window.devicePixelRatio;
37
- cache[name] = img;
38
- }
39
- return cache[name];
40
- },
41
- });
42
-
43
- tracker.onClick(([feature]) => {
44
- if (feature) {
45
- // eslint-disable-next-line no-console
46
- console.log(feature.getProperties());
47
- }
48
- });
49
-
50
- tracker.init(map);
51
- };
@@ -1,3 +0,0 @@
1
- This example uses the [geOps Realtime API](https://developer.geops.io/).
2
-
3
- Follow [this link](https://developer.geops.io/) to get information about the API and how to get an API key.
@@ -1,107 +0,0 @@
1
- import liveTrackerOLImg from './img/examples/live_tracker_ol.jpg';
2
- import liveTrackerMBImg from './img/examples/live_tracker_mb.jpg';
3
- // import liveTrackerMunichImg from './img/examples/live_tracker_munich.jpg';
4
- import mapboxImg from './img/examples/mapbox.jpg';
5
- import mapboxStyleImg from './img/examples/mapbox_style.jpg';
6
- import queryObjectsImg from './img/examples/query_objects.jpg';
7
- import olCopyrightImg from './img/examples/ol-copyright.png';
8
- import stopsImg from './img/examples/stops.jpg';
9
- import routingImg from './img/examples/routing.jpg';
10
-
11
- // const munichAssets = require('./examples/assets/tralis-live-map').default;
12
-
13
- // To make redirect works properly on netlify it's important that the key
14
- // are differents from the name of js and html files.
15
- export default [
16
- {
17
- name: 'Live tracker with OpenLayers',
18
- key: 'ol-tracker',
19
- description:
20
- 'Use the [geOps Realtime API](https://developer.geops.io/apis/realtime/) to show moving trains in a Mapbox map.',
21
- img: liveTrackerOLImg,
22
- },
23
- {
24
- name: 'Live tracker with Mapbox',
25
- key: 'mb-tracker',
26
- description:
27
- 'Use the [geOps Realtime API](https://developer.geops.io/apis/realtime/) to show moving trains in a Mapbox map.',
28
- img: liveTrackerMBImg,
29
- },
30
- {
31
- name: 'Stop finder',
32
- key: 'ol-stop-finder',
33
- description:
34
- 'Use the [geOps Stops API](https://developer.geops.io/apis/stops/) for finding public transport stops.',
35
- img: stopsImg,
36
- },
37
- {
38
- name: 'Routing',
39
- key: 'routing-control',
40
- description:
41
- 'Use the [geOps Routing API](https://developer.geops.io/apis/routing/) to find the shortest route between 2 points.',
42
- img: routingImg,
43
- files: {
44
- html: 'ol-routing.html',
45
- js: 'ol-routing.js',
46
- },
47
- },
48
- // {
49
- // name: 'Live train positions for Munich',
50
- // key: 'tralis-live-map',
51
- // description:
52
- // 'Realtime vehicle positions and prognosis data based on scheduled times, realtime updates and GPS locations.',
53
- // img: liveTrackerMunichImg,
54
- // extraFiles: {
55
- // 'assets/tralis-live-map/index.js': {
56
- // content: `export default ${JSON.stringify(munichAssets)};`,
57
- // },
58
- // },
59
- // },
60
- // These examples are used for the dbug of TralisLayer don't remove them pls.
61
- // {
62
- // name: 'Tralis tracker with OpenLayers',
63
- // key: 'ol-tralis',
64
- // description: 'Show moving tramway in an OpenLayers map.',
65
- // img: liveTrackerOLImg,
66
- // },
67
- // {
68
- // name: 'Tralis tracker with Mapbox',
69
- // key: 'mapbox-tralis',
70
- // description: 'Show moving tramway in an Mapbox map.',
71
- // img: liveTrackerOLImg,
72
- // },
73
- {
74
- name: 'Mapbox layer',
75
- key: 'ol-mapbox-layer',
76
- description: 'Display a Mapbox style on an OpenLayers map.',
77
- img: mapboxImg,
78
- },
79
- {
80
- name: 'Mapbox Style layer',
81
- key: 'ol-mapbox-style-layer',
82
- description:
83
- 'Display/hide a set of layers of a Mapbox style on an OpenLayers map.',
84
- img: mapboxStyleImg,
85
- },
86
- {
87
- name: 'Querying objects',
88
- key: 'ol-query',
89
- description:
90
- 'This example shows how to query objects in different kinds of layers.',
91
- img: queryObjectsImg,
92
- },
93
- {
94
- name: 'Copyrights with OpenLayers',
95
- key: 'ol-copyright',
96
- description:
97
- 'This example shows how to use the CopyrightControl component.',
98
- img: olCopyrightImg,
99
- },
100
- {
101
- name: 'Copyrights with Mapbox',
102
- key: 'mb-copyright',
103
- description:
104
- 'This example shows how to use the CopyrightControl component.',
105
- img: olCopyrightImg,
106
- },
107
- ];
Binary file
Binary file
Binary file
Binary file
Binary file
package/src/doc/index.js DELETED
@@ -1,21 +0,0 @@
1
- import 'react-app-polyfill/stable';
2
- // import { createRoot } from 'react-dom/client';
3
- import React from 'react';
4
- import { BrowserRouter } from 'react-router-dom';
5
- import { createRoot } from 'react-dom/client';
6
- import App from './App';
7
-
8
- // render(
9
- // <BrowserRouter>
10
- // <App />
11
- // </BrowserRouter>,
12
- // document.getElementById('root'),
13
- // );
14
-
15
- const container = document.getElementById('root');
16
- const root = createRoot(container); // createRoot(container!) if you use TypeScript
17
- root.render(
18
- <BrowserRouter>
19
- <App />
20
- </BrowserRouter>,
21
- );
package/src/iife.js DELETED
@@ -1,7 +0,0 @@
1
- import mbt from './index';
2
-
3
- if (typeof window !== 'undefined') {
4
- window.mbt = mbt;
5
- }
6
-
7
- export default mbt;
package/src/index.js DELETED
@@ -1,10 +0,0 @@
1
- import * as ol from './ol';
2
- import * as mapbox from './mapbox';
3
-
4
- export * as ol from './ol';
5
- export * as mapbox from './mapbox';
6
-
7
- export default {
8
- ol,
9
- mapbox,
10
- };
@@ -1,58 +0,0 @@
1
- import Control from '../../common/controls/Control';
2
- import mixin from '../../common/mixins/CopyrightMixin';
3
- import { getMapboxMapCopyrights } from '../../common/utils';
4
-
5
- /**
6
- * Display layer's copyrights.
7
- *
8
- * @example
9
- * import { Map } from 'mapbox-gl';
10
- * import { CopyrightControl } from 'mobility-toolbox-js/mapbox';
11
- *
12
- * const map = new Map({
13
- * container: 'map',
14
- * style: `https://maps.geops.io/styles/travic_v2/style.json?key=${window.apiKey}`,
15
- * controls: [
16
- * new CopyrightControl()
17
- * ]
18
- * });
19
- *
20
- * const control = new CopyrightControl();
21
- * control.map = map;
22
- *
23
- *
24
- * @see <a href="/example/mb-copyright">Mapbox copyright example</a>
25
- *
26
- * @extends {Control}
27
- * @implements {CopyrightInterface}
28
- */
29
- class CopyrightControl extends mixin(Control) {
30
- constructor(options) {
31
- super(options);
32
- this.render = this.render.bind(this);
33
- }
34
-
35
- activate() {
36
- super.activate();
37
- if (this.map) {
38
- this.map.on('sourcedata', this.render);
39
- this.map.on('styledata', this.render);
40
- this.map.on('idle', this.render);
41
- }
42
- }
43
-
44
- deactivate() {
45
- if (this.map) {
46
- this.map.off('sourcedata', this.render);
47
- this.map.off('styledata', this.render);
48
- this.map.off('idle', this.render);
49
- }
50
- super.deactivate();
51
- }
52
-
53
- getCopyrights() {
54
- return getMapboxMapCopyrights(this.map);
55
- }
56
- }
57
-
58
- export default CopyrightControl;
@@ -1,2 +0,0 @@
1
- // eslint-disable-next-line import/prefer-default-export
2
- export { default as CopyrightControl } from './CopyrightControl';
@@ -1,4 +0,0 @@
1
- export * from '../api';
2
- export * from '../common';
3
- export * from './controls';
4
- export * from './layers';
@@ -1,118 +0,0 @@
1
- import { unByKey } from 'ol/Observable';
2
- import { transformExtent } from 'ol/proj';
3
- import LayerCommon from '../../common/layers/Layer';
4
-
5
- /**
6
- * A class representing a layer to display on an OpenLayers map.
7
- *
8
- * @example
9
- * import { Layer } from 'mobility-toolbox-js/ol';
10
- *
11
- * const layer = new Layer({
12
- * olLayer: ...,
13
- * });
14
- *
15
- * @see <a href="/example/ol-map">Map example</a>
16
- *
17
- * @classproperty {ol/Map~Map} map - The map where the layer is displayed.
18
- * @extends {Layer}
19
- */
20
- class Layer extends LayerCommon {
21
- /**
22
- * Initialize the layer and listen to user events.
23
- * @param {ol/Map~Map} map
24
- */
25
- init(map) {
26
- super.init(map);
27
-
28
- if (!this.map) {
29
- return;
30
- }
31
-
32
- if (this.isClickActive || this.isHoverActive) {
33
- this.toggleVisibleListeners();
34
- this.onChangeVisibleKey = this.on(
35
- 'change:visible',
36
- this.toggleVisibleListeners,
37
- );
38
- }
39
- }
40
-
41
- terminate(map) {
42
- if (this.map) {
43
- this.map.off('mousemove', this.onUserMoveCallback);
44
- this.map.off('click', this.onUserClickCallback);
45
- unByKey(this.onChangeVisibleKey);
46
- }
47
- super.terminate(map);
48
- }
49
-
50
- /**
51
- * Function triggered when the user click the map.
52
- * @private
53
- */
54
- onUserClickCallback(evt) {
55
- super.onUserClickCallback({ coordinate: evt.lngLat.toArray(), ...evt });
56
- }
57
-
58
- /**
59
- * Function triggered when the user moves the cursor over the map.
60
- * @private
61
- */
62
- onUserMoveCallback(evt) {
63
- super.onUserMoveCallback({ coordinate: evt.lngLat.toArray(), ...evt });
64
- }
65
-
66
- /**
67
- * Toggle listeners needed when a layer is avisible or not.
68
- * @private
69
- */
70
- toggleVisibleListeners() {
71
- if (this.visible) {
72
- if (this.isClickActive) {
73
- this.map.on('click', this.onUserClickCallback);
74
- }
75
-
76
- if (this.isHoverActive) {
77
- this.map.on('mousemove', this.onUserMoveCallback);
78
- }
79
- } else {
80
- if (this.isClickActive) {
81
- this.map.off('click', this.onUserClickCallback);
82
- }
83
-
84
- if (this.isHoverActive) {
85
- this.map.off('mousemove', this.onUserMoveCallback);
86
- }
87
- }
88
- }
89
-
90
- /**
91
- * Returns the current extent in mercator coordinates.
92
- */
93
- getMercatorExtent() {
94
- const bounds = this.map.getBounds().toArray();
95
- return transformExtent(
96
- [...bounds[0], ...bounds[1]],
97
- 'EPSG:4326',
98
- 'EPSG:3857',
99
- );
100
- }
101
-
102
- /**
103
- * Returns the equivalent zoom in Openlayers.
104
- */
105
- getOlZoom() {
106
- return this.map.getZoom() + 1;
107
- }
108
-
109
- /**
110
- * Create a copy of the Layer.
111
- * @param {Object} newOptions Options to override
112
- * @return {Layer} A Layer
113
- */
114
- clone(newOptions) {
115
- return new Layer({ ...this.options, ...newOptions });
116
- }
117
- }
118
- export default Layer;