@rio-cloud/uikit-mcp 1.0.0 → 1.1.0

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 (388) hide show
  1. package/README.md +75 -40
  2. package/dist/doc-metadata.json +1872 -0
  3. package/dist/docs/components/accentBar.md +582 -0
  4. package/dist/docs/components/activity.md +330 -0
  5. package/dist/docs/components/animatedNumber.md +88 -0
  6. package/dist/docs/components/animatedTextReveal.md +381 -0
  7. package/dist/docs/components/animations.md +459 -0
  8. package/dist/docs/components/appHeader.md +737 -0
  9. package/dist/docs/components/appLayout.md +2016 -0
  10. package/dist/docs/components/appNavigationBar.md +274 -0
  11. package/dist/docs/components/areaCharts.md +828 -0
  12. package/dist/docs/components/aspectRatioPlaceholder.md +106 -0
  13. package/dist/docs/components/assetTree.md +3223 -0
  14. package/dist/docs/components/autosuggests.md +1177 -0
  15. package/dist/docs/components/avatar.md +206 -0
  16. package/dist/docs/components/banner.md +668 -0
  17. package/dist/docs/components/barCharts.md +2785 -0
  18. package/dist/docs/components/barList.md +517 -0
  19. package/dist/docs/components/basicMap.md +167 -0
  20. package/dist/docs/components/bottomSheet.md +721 -0
  21. package/dist/docs/components/button.md +775 -0
  22. package/dist/docs/components/buttonToolbar.md +134 -0
  23. package/dist/docs/components/calendarStripe.md +525 -0
  24. package/dist/docs/components/card.md +86 -0
  25. package/dist/docs/components/carousel.md +128 -0
  26. package/dist/docs/components/chartColors.md +716 -0
  27. package/dist/docs/components/chartsGettingStarted.md +28 -0
  28. package/dist/docs/components/chat.md +932 -0
  29. package/dist/docs/components/checkbox.md +996 -0
  30. package/dist/docs/components/clearableInput.md +806 -0
  31. package/dist/docs/components/collapse.md +189 -0
  32. package/dist/docs/components/composedCharts.md +424 -0
  33. package/dist/docs/components/contentLoader.md +674 -0
  34. package/dist/docs/components/dataTabs.md +1251 -0
  35. package/dist/docs/components/datepickers.md +2543 -0
  36. package/dist/docs/components/dialogs.md +2244 -0
  37. package/dist/docs/components/divider.md +219 -0
  38. package/dist/docs/components/dropdowns.md +17550 -0
  39. package/dist/docs/components/editableContent.md +1127 -0
  40. package/dist/docs/components/expander.md +970 -0
  41. package/dist/docs/components/fade.md +836 -0
  42. package/dist/docs/components/fadeExpander.md +180 -0
  43. package/dist/docs/components/fadeUp.md +396 -0
  44. package/dist/docs/components/feedback.md +758 -0
  45. package/dist/docs/components/filePickers.md +370 -0
  46. package/dist/docs/components/formLabel.md +251 -0
  47. package/dist/docs/components/fullscreenMap.md +10 -0
  48. package/dist/docs/components/groupedItemList.md +1001 -0
  49. package/dist/docs/components/iconList.md +306 -0
  50. package/dist/docs/components/imagePreloader.md +167 -0
  51. package/dist/docs/components/labeledElement.md +115 -0
  52. package/dist/docs/components/licensePlate.md +412 -0
  53. package/dist/docs/components/lineCharts.md +2014 -0
  54. package/dist/docs/components/listMenu.md +392 -0
  55. package/dist/docs/components/loadMore.md +219 -0
  56. package/dist/docs/components/mainNavigation.md +129 -0
  57. package/dist/docs/components/mapCircle.md +93 -0
  58. package/dist/docs/components/mapCluster.md +337 -0
  59. package/dist/docs/components/mapContext.md +284 -0
  60. package/dist/docs/components/mapDraggableMarker.md +150 -0
  61. package/dist/docs/components/mapGettingStarted.md +39 -0
  62. package/dist/docs/components/mapInfoBubble.md +135 -0
  63. package/dist/docs/components/mapLayerGroup.md +94 -0
  64. package/dist/docs/components/mapMarker.md +1814 -0
  65. package/dist/docs/components/mapPolygon.md +959 -0
  66. package/dist/docs/components/mapRoute.md +3816 -0
  67. package/dist/docs/components/mapRouteGenerator.md +6 -0
  68. package/dist/docs/components/mapSettings.md +1040 -0
  69. package/dist/docs/components/mapUtils.md +132 -0
  70. package/dist/docs/components/multiselects.md +1921 -0
  71. package/dist/docs/components/noData.md +210 -0
  72. package/dist/docs/components/notifications.md +314 -0
  73. package/dist/docs/components/numbercontrol.md +706 -0
  74. package/dist/docs/components/onboarding.md +297 -0
  75. package/dist/docs/components/page.md +241 -0
  76. package/dist/docs/components/pager.md +133 -0
  77. package/dist/docs/components/pieCharts.md +1284 -0
  78. package/dist/docs/components/popover.md +222 -0
  79. package/dist/docs/components/position.md +50 -0
  80. package/dist/docs/components/radialBarCharts.md +3663 -0
  81. package/dist/docs/components/radiobutton.md +1271 -0
  82. package/dist/docs/components/releaseNotes.md +135 -0
  83. package/dist/docs/components/resizer.md +162 -0
  84. package/dist/docs/components/responsiveColumnStripe.md +435 -0
  85. package/dist/docs/components/responsiveVideo.md +71 -0
  86. package/dist/docs/components/rioglyph.md +331 -0
  87. package/dist/docs/components/rules.md +965 -0
  88. package/dist/docs/components/saveableInput.md +1721 -0
  89. package/dist/docs/components/selects.md +1993 -0
  90. package/dist/docs/components/sidebar.md +332 -0
  91. package/dist/docs/components/sliders.md +376 -0
  92. package/dist/docs/components/smoothScrollbars.md +1180 -0
  93. package/dist/docs/components/spinners.md +506 -0
  94. package/dist/docs/components/states.md +1176 -0
  95. package/dist/docs/components/statsWidgets.md +636 -0
  96. package/dist/docs/components/statusBar.md +644 -0
  97. package/dist/docs/components/stepButton.md +61 -0
  98. package/dist/docs/components/steppedProgressBars.md +1064 -0
  99. package/dist/docs/components/subNavigation.md +470 -0
  100. package/dist/docs/components/supportMarker.md +115 -0
  101. package/dist/docs/components/svgImage.md +248 -0
  102. package/dist/docs/components/switch.md +554 -0
  103. package/dist/docs/components/tables.md +8 -0
  104. package/dist/docs/components/tagManager.md +476 -0
  105. package/dist/docs/components/tags.md +785 -0
  106. package/dist/docs/components/teaser.md +925 -0
  107. package/dist/docs/components/timeline.md +514 -0
  108. package/dist/docs/components/timepicker.md +262 -0
  109. package/dist/docs/components/toggleButton.md +178 -0
  110. package/dist/docs/components/tooltip.md +454 -0
  111. package/dist/docs/components/virtualList.md +483 -0
  112. package/dist/docs/foundations.md +20901 -0
  113. package/dist/docs/start/changelog.md +439 -0
  114. package/dist/docs/start/goodtoknow.md +14 -0
  115. package/dist/docs/start/guidelines/color-combinations.md +678 -0
  116. package/dist/docs/start/guidelines/custom-css.md +42 -0
  117. package/dist/docs/start/guidelines/custom-rioglyph.md +35 -0
  118. package/dist/docs/start/guidelines/formatting.md +587 -0
  119. package/dist/docs/start/guidelines/iframe.md +323 -0
  120. package/dist/docs/start/guidelines/obfuscate-data.md +30 -0
  121. package/dist/docs/start/guidelines/print-css.md +36 -0
  122. package/dist/docs/start/guidelines/spinner.md +710 -0
  123. package/dist/docs/start/guidelines/supported-browsers.md +10 -0
  124. package/dist/docs/start/guidelines/writing.md +635 -0
  125. package/dist/docs/start/howto.md +187 -0
  126. package/dist/docs/start/intro.md +43 -0
  127. package/dist/docs/start/responsiveness.md +98 -0
  128. package/dist/docs/templates/common-table.md +1111 -0
  129. package/dist/docs/templates/detail-views.md +942 -0
  130. package/dist/docs/templates/expandable-details.md +228 -0
  131. package/dist/docs/templates/feature-cards.md +549 -0
  132. package/dist/docs/templates/form-summary.md +199 -0
  133. package/dist/docs/templates/form-toggle.md +367 -0
  134. package/dist/docs/templates/list-blocks.md +1021 -0
  135. package/dist/docs/templates/loading-progress.md +109 -0
  136. package/dist/docs/templates/options-panel.md +152 -0
  137. package/dist/docs/templates/panel-variants.md +164 -0
  138. package/dist/docs/templates/progress-cards.md +607 -0
  139. package/dist/docs/templates/progress-success.md +142 -0
  140. package/dist/docs/templates/settings-form.md +434 -0
  141. package/dist/docs/templates/stats-blocks.md +1381 -0
  142. package/dist/docs/templates/table-panel.md +184 -0
  143. package/dist/docs/templates/table-row-animation.md +317 -0
  144. package/dist/docs/templates/usage-cards.md +227 -0
  145. package/dist/docs/utilities/deviceUtils.md +123 -0
  146. package/dist/docs/utilities/featureToggles.md +90 -0
  147. package/dist/docs/utilities/fuelTypeUtils.md +186 -0
  148. package/dist/docs/utilities/routeUtils.md +138 -0
  149. package/dist/docs/utilities/useAfterMount.md +66 -0
  150. package/dist/docs/utilities/useAutoAnimate.md +193 -0
  151. package/dist/docs/utilities/useAverage.md +95 -0
  152. package/dist/docs/utilities/useClickOutside.md +61 -0
  153. package/dist/docs/utilities/useClipboard.md +93 -0
  154. package/dist/docs/utilities/useCount.md +178 -0
  155. package/dist/docs/utilities/useDarkMode.md +49 -0
  156. package/dist/docs/utilities/useDebugInfo.md +126 -0
  157. package/dist/docs/utilities/useEffectOnce.md +58 -0
  158. package/dist/docs/utilities/useElapsedTime.md +58 -0
  159. package/dist/docs/utilities/useElementSize.md +71 -0
  160. package/dist/docs/utilities/useEsc.md +58 -0
  161. package/dist/docs/utilities/useEvent.md +64 -0
  162. package/dist/docs/utilities/useFocusTrap.md +85 -0
  163. package/dist/docs/utilities/useFullscreen.md +198 -0
  164. package/dist/docs/utilities/useHover.md +55 -0
  165. package/dist/docs/utilities/useIncomingPostMessages.md +237 -0
  166. package/dist/docs/utilities/useInterval.md +85 -0
  167. package/dist/docs/utilities/useIsFocusWithin.md +114 -0
  168. package/dist/docs/utilities/useKey.md +151 -0
  169. package/dist/docs/utilities/useLocalStorage.md +91 -0
  170. package/dist/docs/utilities/useLocationSuggestions.md +114 -0
  171. package/dist/docs/utilities/useMax.md +62 -0
  172. package/dist/docs/utilities/useMin.md +78 -0
  173. package/dist/docs/utilities/useMutationObserver.md +113 -0
  174. package/dist/docs/utilities/useOnScreen.md +138 -0
  175. package/dist/docs/utilities/useOnlineStatus.md +49 -0
  176. package/dist/docs/utilities/usePostMessage.md +117 -0
  177. package/dist/docs/utilities/usePostMessageSender.md +257 -0
  178. package/dist/docs/utilities/usePrevious.md +101 -0
  179. package/dist/docs/utilities/useResizeObserver.md +151 -0
  180. package/dist/docs/utilities/useScrollPosition.md +252 -0
  181. package/dist/docs/utilities/useSearch.md +228 -0
  182. package/dist/docs/utilities/useSorting.md +389 -0
  183. package/dist/docs/utilities/useStateWithValidation.md +83 -0
  184. package/dist/docs/utilities/useSum.md +155 -0
  185. package/dist/docs/utilities/useTableExport.md +404 -0
  186. package/dist/docs/utilities/useTableSelection.md +1120 -0
  187. package/dist/docs/utilities/useTimeout.md +55 -0
  188. package/dist/docs/utilities/useToggle.md +115 -0
  189. package/dist/docs/utilities/useWindowResize.md +70 -0
  190. package/dist/index.mjs +271 -0
  191. package/dist/search-synonyms.json +134 -0
  192. package/dist/version.json +4 -0
  193. package/package.json +23 -19
  194. package/bin/uikit-mcp.mjs +0 -23
  195. package/data/pages/Components/components/accentbar.json +0 -207
  196. package/data/pages/Components/components/activity.json +0 -87
  197. package/data/pages/Components/components/animatednumber.json +0 -99
  198. package/data/pages/Components/components/animations.json +0 -87
  199. package/data/pages/Components/components/appheader.json +0 -291
  200. package/data/pages/Components/components/applayout.json +0 -1198
  201. package/data/pages/Components/components/appnavigationbar.json +0 -327
  202. package/data/pages/Components/components/areacharts.json +0 -563
  203. package/data/pages/Components/components/aspectratioplaceholder.json +0 -75
  204. package/data/pages/Components/components/assettree.json +0 -3080
  205. package/data/pages/Components/components/autosuggests.json +0 -710
  206. package/data/pages/Components/components/avatar.json +0 -157
  207. package/data/pages/Components/components/banner.json +0 -599
  208. package/data/pages/Components/components/barcharts.json +0 -1507
  209. package/data/pages/Components/components/barlist.json +0 -223
  210. package/data/pages/Components/components/basicmap.json +0 -68
  211. package/data/pages/Components/components/bottomsheet.json +0 -601
  212. package/data/pages/Components/components/button.json +0 -583
  213. package/data/pages/Components/components/buttontoolbar.json +0 -63
  214. package/data/pages/Components/components/calendarstripe.json +0 -235
  215. package/data/pages/Components/components/card.json +0 -69
  216. package/data/pages/Components/components/carousel.json +0 -39
  217. package/data/pages/Components/components/chartcolors.json +0 -34
  218. package/data/pages/Components/components/chartsgettingstarted.json +0 -32
  219. package/data/pages/Components/components/chat.json +0 -39
  220. package/data/pages/Components/components/checkbox.json +0 -847
  221. package/data/pages/Components/components/clearableinput.json +0 -789
  222. package/data/pages/Components/components/collapse.json +0 -175
  223. package/data/pages/Components/components/composedcharts.json +0 -159
  224. package/data/pages/Components/components/contentloader.json +0 -233
  225. package/data/pages/Components/components/datatabs.json +0 -680
  226. package/data/pages/Components/components/datepickers.json +0 -287
  227. package/data/pages/Components/components/dialogs.json +0 -1492
  228. package/data/pages/Components/components/divider.json +0 -93
  229. package/data/pages/Components/components/dropdowns.json +0 -936
  230. package/data/pages/Components/components/editablecontent.json +0 -1117
  231. package/data/pages/Components/components/expander.json +0 -377
  232. package/data/pages/Components/components/fade.json +0 -403
  233. package/data/pages/Components/components/fadeexpander.json +0 -75
  234. package/data/pages/Components/components/fadeup.json +0 -127
  235. package/data/pages/Components/components/feedback.json +0 -269
  236. package/data/pages/Components/components/filepickers.json +0 -269
  237. package/data/pages/Components/components/formlabel.json +0 -115
  238. package/data/pages/Components/components/fullscreenmap.json +0 -22
  239. package/data/pages/Components/components/groupeditemlist.json +0 -323
  240. package/data/pages/Components/components/iconlist.json +0 -45
  241. package/data/pages/Components/components/imagepreloader.json +0 -81
  242. package/data/pages/Components/components/labeledelement.json +0 -75
  243. package/data/pages/Components/components/licenseplate.json +0 -69
  244. package/data/pages/Components/components/linecharts.json +0 -987
  245. package/data/pages/Components/components/listmenu.json +0 -313
  246. package/data/pages/Components/components/loadmore.json +0 -175
  247. package/data/pages/Components/components/mainnavigation.json +0 -39
  248. package/data/pages/Components/components/mapcircle.json +0 -34
  249. package/data/pages/Components/components/mapcluster.json +0 -51
  250. package/data/pages/Components/components/mapcontext.json +0 -105
  251. package/data/pages/Components/components/mapdraggablemarker.json +0 -34
  252. package/data/pages/Components/components/mapgettingstarted.json +0 -27
  253. package/data/pages/Components/components/mapgroup.json +0 -1198
  254. package/data/pages/Components/components/mapinfobubble.json +0 -34
  255. package/data/pages/Components/components/maplayergroup.json +0 -34
  256. package/data/pages/Components/components/mapmarker.json +0 -700
  257. package/data/pages/Components/components/mappolygon.json +0 -45
  258. package/data/pages/Components/components/maproute.json +0 -623
  259. package/data/pages/Components/components/maproutegenerator.json +0 -16
  260. package/data/pages/Components/components/mapsettings.json +0 -51
  261. package/data/pages/Components/components/maputils.json +0 -34
  262. package/data/pages/Components/components/multiselects.json +0 -1451
  263. package/data/pages/Components/components/nodata.json +0 -139
  264. package/data/pages/Components/components/notifications.json +0 -65
  265. package/data/pages/Components/components/numbercontrol.json +0 -301
  266. package/data/pages/Components/components/onboarding.json +0 -302
  267. package/data/pages/Components/components/page.json +0 -197
  268. package/data/pages/Components/components/pager.json +0 -93
  269. package/data/pages/Components/components/piecharts.json +0 -731
  270. package/data/pages/Components/components/popover.json +0 -251
  271. package/data/pages/Components/components/position.json +0 -69
  272. package/data/pages/Components/components/radialbarcharts.json +0 -1304
  273. package/data/pages/Components/components/radiobutton.json +0 -1105
  274. package/data/pages/Components/components/releasenotes.json +0 -44
  275. package/data/pages/Components/components/resizer.json +0 -93
  276. package/data/pages/Components/components/responsivecolumnstripe.json +0 -123
  277. package/data/pages/Components/components/responsivevideo.json +0 -75
  278. package/data/pages/Components/components/rioglyph.json +0 -93
  279. package/data/pages/Components/components/rules.json +0 -410
  280. package/data/pages/Components/components/saveableinput.json +0 -703
  281. package/data/pages/Components/components/selects.json +0 -701
  282. package/data/pages/Components/components/sidebar.json +0 -243
  283. package/data/pages/Components/components/sliders.json +0 -235
  284. package/data/pages/Components/components/smoothscrollbars.json +0 -335
  285. package/data/pages/Components/components/spinners.json +0 -343
  286. package/data/pages/Components/components/states.json +0 -1705
  287. package/data/pages/Components/components/statswidgets.json +0 -314
  288. package/data/pages/Components/components/statusbar.json +0 -177
  289. package/data/pages/Components/components/stepbutton.json +0 -57
  290. package/data/pages/Components/components/steppedprogressbars.json +0 -417
  291. package/data/pages/Components/components/subnavigation.json +0 -107
  292. package/data/pages/Components/components/supportmarker.json +0 -45
  293. package/data/pages/Components/components/svgimage.json +0 -81
  294. package/data/pages/Components/components/switch.json +0 -111
  295. package/data/pages/Components/components/tables.json +0 -144
  296. package/data/pages/Components/components/tagmanager.json +0 -86
  297. package/data/pages/Components/components/tags.json +0 -146
  298. package/data/pages/Components/components/teaser.json +0 -188
  299. package/data/pages/Components/components/timeline.json +0 -45
  300. package/data/pages/Components/components/timepicker.json +0 -163
  301. package/data/pages/Components/components/togglebutton.json +0 -247
  302. package/data/pages/Components/components/tooltip.json +0 -270
  303. package/data/pages/Components/components/virtuallist.json +0 -175
  304. package/data/pages/Foundations/foundations.json +0 -2475
  305. package/data/pages/Getting-started/start/changelog.json +0 -22
  306. package/data/pages/Getting-started/start/goodtoknow.json +0 -32
  307. package/data/pages/Getting-started/start/guidelines/color-combinations.json +0 -58
  308. package/data/pages/Getting-started/start/guidelines/custom-css.json +0 -27
  309. package/data/pages/Getting-started/start/guidelines/custom-rioglyph.json +0 -22
  310. package/data/pages/Getting-started/start/guidelines/formatting.json +0 -97
  311. package/data/pages/Getting-started/start/guidelines/iframe.json +0 -93
  312. package/data/pages/Getting-started/start/guidelines/obfuscate-data.json +0 -22
  313. package/data/pages/Getting-started/start/guidelines/print-css.json +0 -37
  314. package/data/pages/Getting-started/start/guidelines/spinner.json +0 -144
  315. package/data/pages/Getting-started/start/guidelines/supported-browsers.json +0 -22
  316. package/data/pages/Getting-started/start/guidelines/writing.json +0 -242
  317. package/data/pages/Getting-started/start/howto.json +0 -72
  318. package/data/pages/Getting-started/start/intro.json +0 -37
  319. package/data/pages/Getting-started/start/responsiveness.json +0 -52
  320. package/data/pages/Templates/templates/common-table.json +0 -39
  321. package/data/pages/Templates/templates/detail-views.json +0 -71
  322. package/data/pages/Templates/templates/expandable-details.json +0 -39
  323. package/data/pages/Templates/templates/feature-cards.json +0 -103
  324. package/data/pages/Templates/templates/form-summary.json +0 -39
  325. package/data/pages/Templates/templates/form-toggle.json +0 -39
  326. package/data/pages/Templates/templates/list-blocks.json +0 -119
  327. package/data/pages/Templates/templates/loading-progress.json +0 -39
  328. package/data/pages/Templates/templates/options-panel.json +0 -39
  329. package/data/pages/Templates/templates/panel-variants.json +0 -39
  330. package/data/pages/Templates/templates/progress-cards.json +0 -71
  331. package/data/pages/Templates/templates/progress-success.json +0 -39
  332. package/data/pages/Templates/templates/settings-form.json +0 -39
  333. package/data/pages/Templates/templates/stats-blocks.json +0 -135
  334. package/data/pages/Templates/templates/table-panel.json +0 -39
  335. package/data/pages/Templates/templates/table-row-animation.json +0 -39
  336. package/data/pages/Templates/templates/usage-cards.json +0 -39
  337. package/data/pages/Utilities/utilities/deviceutils.json +0 -39
  338. package/data/pages/Utilities/utilities/featuretoggles.json +0 -42
  339. package/data/pages/Utilities/utilities/fueltypeutils.json +0 -118
  340. package/data/pages/Utilities/utilities/routeutils.json +0 -34
  341. package/data/pages/Utilities/utilities/useaftermount.json +0 -63
  342. package/data/pages/Utilities/utilities/useaverage.json +0 -86
  343. package/data/pages/Utilities/utilities/useclickoutside.json +0 -69
  344. package/data/pages/Utilities/utilities/useclipboard.json +0 -57
  345. package/data/pages/Utilities/utilities/usecount.json +0 -92
  346. package/data/pages/Utilities/utilities/usedarkmode.json +0 -50
  347. package/data/pages/Utilities/utilities/usedebuginfo.json +0 -63
  348. package/data/pages/Utilities/utilities/useeffectonce.json +0 -57
  349. package/data/pages/Utilities/utilities/useelapsedtime.json +0 -57
  350. package/data/pages/Utilities/utilities/useelementsize.json +0 -63
  351. package/data/pages/Utilities/utilities/useesc.json +0 -57
  352. package/data/pages/Utilities/utilities/useevent.json +0 -75
  353. package/data/pages/Utilities/utilities/usefocustrap.json +0 -57
  354. package/data/pages/Utilities/utilities/usefullscreen.json +0 -197
  355. package/data/pages/Utilities/utilities/usehover.json +0 -57
  356. package/data/pages/Utilities/utilities/useinterval.json +0 -63
  357. package/data/pages/Utilities/utilities/useisfocuswithin.json +0 -75
  358. package/data/pages/Utilities/utilities/usekey.json +0 -75
  359. package/data/pages/Utilities/utilities/uselocalstorage.json +0 -69
  360. package/data/pages/Utilities/utilities/uselocationsuggestions.json +0 -110
  361. package/data/pages/Utilities/utilities/usemax.json +0 -86
  362. package/data/pages/Utilities/utilities/usemin.json +0 -86
  363. package/data/pages/Utilities/utilities/usemutationobserver.json +0 -69
  364. package/data/pages/Utilities/utilities/useonlinestatus.json +0 -39
  365. package/data/pages/Utilities/utilities/useonscreen.json +0 -63
  366. package/data/pages/Utilities/utilities/usepostmessage.json +0 -80
  367. package/data/pages/Utilities/utilities/useprevious.json +0 -63
  368. package/data/pages/Utilities/utilities/useresizeobserver.json +0 -65
  369. package/data/pages/Utilities/utilities/usescrollposition.json +0 -103
  370. package/data/pages/Utilities/utilities/usesearch.json +0 -197
  371. package/data/pages/Utilities/utilities/usesorting.json +0 -139
  372. package/data/pages/Utilities/utilities/usestatewithvalidation.json +0 -69
  373. package/data/pages/Utilities/utilities/usesum.json +0 -86
  374. package/data/pages/Utilities/utilities/usetableexport.json +0 -87
  375. package/data/pages/Utilities/utilities/usetableselection.json +0 -311
  376. package/data/pages/Utilities/utilities/usetimeout.json +0 -63
  377. package/data/pages/Utilities/utilities/usetoggle.json +0 -75
  378. package/data/pages/Utilities/utilities/usewindowresize.json +0 -63
  379. package/data/version.json +0 -4
  380. package/docs/content-schema.md +0 -147
  381. package/docs/navigation-inventory.json +0 -1310
  382. package/docs/search-synonyms.json +0 -43
  383. package/server/index.mjs +0 -268
  384. package/server/lib/load-docs.mjs +0 -48
  385. package/server/lib/normalise-doc.mjs +0 -220
  386. package/server/lib/render-markdown.mjs +0 -82
  387. package/server/lib/search-index.mjs +0 -49
  388. package/server/lib/types.js +0 -99
@@ -0,0 +1,3816 @@
1
+ # Route
2
+
3
+ *Category:* Components
4
+ *Section:* Map
5
+ *Source:* https://uikit.developers.rio.cloud/#components/mapRoute
6
+ *Captured:* 2025-12-12T12:39:31.759Z
7
+
8
+ There are currently 3 different route styles built-in into the map component.
9
+
10
+ ## Route
11
+
12
+ The "reduced" style is meant for historic routes and shall indicate that the driver went that route but is ahead of a certain timestamp.
13
+
14
+ The "alternativeRoute" style is meant for route planning cases and shall show alternate routes.
15
+
16
+ ### Example: Example 1
17
+
18
+ Terms of use© 1987–2025 HERE
19
+
20
+ 10 km
21
+
22
+ Choose view
23
+ Map view
24
+ Satellite
25
+
26
+ Traffic conditions
27
+ Show traffic incidents
28
+
29
+ #### Summary
30
+
31
+ Terms of use© 1987–2025 HERE
32
+
33
+ 10 km
34
+
35
+ Choose view
36
+ Map view
37
+ Satellite
38
+
39
+ Traffic conditions
40
+ Show traffic incidents
41
+
42
+ #### React (tsx)
43
+
44
+ ```tsx
45
+ import { useState } from 'react';
46
+
47
+ // biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>
48
+ import Map from '@rio-cloud/rio-uikit/Map';
49
+ import EventUtils from '@rio-cloud/rio-uikit/EventUtils';
50
+ import Route from '@rio-cloud/rio-uikit/Route';
51
+ import Marker from '@rio-cloud/rio-uikit/Marker';
52
+ import SingleMapMarker from '@rio-cloud/rio-uikit/SingleMapMarker';
53
+ import MapSettings from '@rio-cloud/rio-uikit/MapSettings';
54
+ import MapTypeSettings from '@rio-cloud/rio-uikit/MapTypeSettings';
55
+ import Notification from '@rio-cloud/rio-uikit/Notification';
56
+
57
+ import { UIKIT_DEMO_CREDENTIALS_ARE_NOT_ALLOWED_IN_PROD_ENVIRONMENT } from '../uikit_demo_credentials';
58
+ import type { MapEvent, Position } from '@rio-cloud/rio-uikit/mapTypes';
59
+
60
+ const offset = 0.3;
61
+
62
+ const getMiddlePos = (allPositions: Position[]) => allPositions[Math.floor(allPositions.length / 2)];
63
+
64
+ const positions: Position[] = [
65
+ { lat: 48.6898766, lng: 12.6748714 },
66
+ { lat: 48.69664, lng: 12.676465 },
67
+ { lat: 48.7036781, lng: 12.6883364 },
68
+ { lat: 48.7120438, lng: 12.7029095 },
69
+ { lat: 48.719677, lng: 12.7183695 },
70
+ { lat: 48.7297783, lng: 12.7300291 },
71
+ { lat: 48.7417717, lng: 12.736865 },
72
+ { lat: 48.7487717, lng: 12.7527666 },
73
+ { lat: 48.7575531, lng: 12.7673788 },
74
+ { lat: 48.7681808, lng: 12.7792053 },
75
+ { lat: 48.7763824, lng: 12.7935705 },
76
+ { lat: 48.7802505, lng: 12.8117657 },
77
+ { lat: 48.7864838, lng: 12.8284893 },
78
+ { lat: 48.7955551, lng: 12.8416948 },
79
+ { lat: 48.801033, lng: 12.8583927 },
80
+ { lat: 48.8017998, lng: 12.8773537 },
81
+ { lat: 48.7978935, lng: 12.8954306 },
82
+ { lat: 48.7991867, lng: 12.9137754 },
83
+ { lat: 48.8086166, lng: 12.9266558 },
84
+ ];
85
+ const route2Positions = positions.map(pos => ({ lat: pos.lat, lng: pos.lng + offset }));
86
+ const route3Positions = positions.map(pos => ({ lat: pos.lat, lng: pos.lng + offset * 2 }));
87
+
88
+ const getRandomValueToForceRerender = () => Math.random();
89
+
90
+ const Routes = () => {
91
+ const [activeRouteId, setActiveRouteId] = useState(1);
92
+ const isActive = (id: number) => activeRouteId === id;
93
+ const isFirstRouteActive = isActive(1);
94
+ const isSecondRouteActive = isActive(2);
95
+
96
+ const markerEventListenerMap = {
97
+ [EventUtils.TAP]: (event: MapEvent) => {
98
+ event.stopPropagation();
99
+ setActiveRouteId(event.currentTarget.getData().id);
100
+ },
101
+ };
102
+
103
+ const routeEventListenerMap = {
104
+ [EventUtils.TAP]: (event: MapEvent) => {
105
+ event.stopPropagation();
106
+ setActiveRouteId(event.currentTarget.getData().id);
107
+ Notification.info('Route clicked');
108
+ },
109
+ [EventUtils.POINTER_MOVE]: (event: MapEvent) => {
110
+ event.stopPropagation();
111
+ console.log(event);
112
+ },
113
+ };
114
+
115
+ return (
116
+ <>
117
+ <Route
118
+ key={getRandomValueToForceRerender()}
119
+ positions={positions}
120
+ startIcon={<SingleMapMarker iconNames={['start']} markerColor='bg-map-marker-route' />}
121
+ endIcon={<SingleMapMarker iconNames={['finish']} markerColor='bg-map-marker-route' />}
122
+ isRouteAlternative={!isFirstRouteActive}
123
+ eventListenerMap={routeEventListenerMap}
124
+ customData={{ id: 1 }}
125
+ hasArrows={false}
126
+ markers={[
127
+ <Marker
128
+ key='1'
129
+ customData={{ id: 1 }}
130
+ position={getMiddlePos(positions)}
131
+ eventListenerMap={markerEventListenerMap}
132
+ icon={
133
+ <SingleMapMarker
134
+ iconNames={['route']}
135
+ name='236km / 2h 37min'
136
+ markerColor='bg-map-marker-route'
137
+ active={isFirstRouteActive}
138
+ fixed
139
+ />
140
+ }
141
+ />,
142
+ <Marker
143
+ key='2'
144
+ position={positions[3]}
145
+ icon={
146
+ <SingleMapMarker
147
+ markerColor='bg-map-marker-route'
148
+ name={<div className='padding-x-15'>Lorem ipsum dolor sit amet</div>}
149
+ markerOnHover
150
+ />
151
+ }
152
+ />,
153
+ <Marker
154
+ key='2'
155
+ position={positions[5]}
156
+ icon={
157
+ <SingleMapMarker
158
+ markerColor='bg-map-marker-route'
159
+ name={<div className='padding-x-15'>Lorem ipsum dolor sit amet</div>}
160
+ markerOnHover
161
+ />
162
+ }
163
+ />,
164
+ ]}
165
+ />
166
+ <Route
167
+ key={getRandomValueToForceRerender()}
168
+ positions={route2Positions}
169
+ hasArrows={false}
170
+ isRouteAlternative={!isSecondRouteActive}
171
+ eventListenerMap={routeEventListenerMap}
172
+ customData={{ id: 2 }}
173
+ markers={[
174
+ <Marker
175
+ key='2'
176
+ customData={{ id: 2 }}
177
+ position={getMiddlePos(route2Positions)}
178
+ eventListenerMap={markerEventListenerMap}
179
+ icon={
180
+ <SingleMapMarker
181
+ iconNames={['route']}
182
+ name='166km / 1h 47min'
183
+ markerColor='bg-map-marker-route'
184
+ active={isSecondRouteActive}
185
+ fixed
186
+ />
187
+ }
188
+ />,
189
+ ]}
190
+ />
191
+ <Route
192
+ positions={route3Positions}
193
+ startIcon={<SingleMapMarker iconNames={['start']} markerColor='bg-map-marker-route' />}
194
+ endIcon={<SingleMapMarker iconNames={['finish']} markerColor='bg-map-marker-route' />}
195
+ eventListenerMap={routeEventListenerMap}
196
+ hasArrows={false}
197
+ isReduced
198
+ />
199
+ </>
200
+ );
201
+ };
202
+
203
+ const RouteExample = () => {
204
+ const position = { lat: 48.7497783, lng: 13.1000291 };
205
+
206
+ return (
207
+ <Map
208
+ credentials={UIKIT_DEMO_CREDENTIALS_ARE_NOT_ALLOWED_IN_PROD_ENVIRONMENT}
209
+ center={position}
210
+ zoom={10}
211
+ height={300}
212
+ mapSettings={
213
+ <MapSettings
214
+ options={[
215
+ <MapTypeSettings
216
+ key='mapTypeSettings'
217
+ tooltip='Change map type'
218
+ dropdownHeaderText='Map views'
219
+ defaultTypeLabel='Default view'
220
+ truckTypeLabel='Truck view'
221
+ terrainTypeLabel='Terrain view'
222
+ satelliteTypeLabel='Satellite view'
223
+ nightTypeLabel='Night view'
224
+ />,
225
+ ]}
226
+ />
227
+ }
228
+ >
229
+ <Routes />
230
+ </Map>
231
+ );
232
+ };
233
+
234
+ export default RouteExample;
235
+ ```
236
+
237
+ #### Props
238
+
239
+ | Name | Type | Default | Description |
240
+ | --- | --- | --- | --- |
241
+ | positions | Array of Objects | — | Array of points {lat, lng} the route is connecting. |
242
+ | hasArrows | Boolean | true | Defines whether to show arrows or not. |
243
+ | arrowStyle | ArrowStyle | — | Defines the style of the arrows on the route. |
244
+ | isReduced | Boolean | false | Defines whether to render the route as reduced (transparent). |
245
+ | isRouteAlternative | Boolean | false | Defines whether to render the route with alternative route style. |
246
+ | style | RouteStyle | — | Custom style for the route. |
247
+ | eventListenerMap | EventListenerMap | — | Map of event listeners for the route. |
248
+ | startIcon | JSX.Element | — | Icon to be displayed at the start of the route. |
249
+ | middleIcon | JSX.Element | — | Icon to be displayed at the middle of the route. |
250
+ | endIcon | JSX.Element | — | Icon to be displayed at the end of the route. |
251
+ | markers | JSX.Element[] | — | Array of markers to be displayed on the route. |
252
+ | customData | object | — | Custom data to be passed to the route. |
253
+
254
+ ## Route with changing geometry
255
+
256
+ ### Example: Example 2
257
+
258
+ Terms of use© 1987–2025 HERE
259
+
260
+ 10 km
261
+
262
+ Choose view
263
+ Map view
264
+ Satellite
265
+
266
+ Traffic conditions
267
+ Show traffic incidents
268
+
269
+ Change routeToggle route
270
+
271
+ #### Summary
272
+
273
+ Terms of use© 1987–2025 HERE
274
+
275
+ 10 km
276
+
277
+ Choose view
278
+ Map view
279
+ Satellite
280
+
281
+ Traffic conditions
282
+ Show traffic incidents
283
+
284
+ Change routeToggle route
285
+
286
+ #### React (tsx)
287
+
288
+ ```tsx
289
+ import React, { useState } from 'react';
290
+
291
+ // biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>
292
+ import Map from '@rio-cloud/rio-uikit/Map';
293
+ import Route from '@rio-cloud/rio-uikit/Route';
294
+ import SingleMapMarker from '@rio-cloud/rio-uikit/SingleMapMarker';
295
+ import MapSettings from '@rio-cloud/rio-uikit/MapSettings';
296
+ import MapTypeSettings from '@rio-cloud/rio-uikit/MapTypeSettings';
297
+ import Button from '@rio-cloud/rio-uikit/Button';
298
+
299
+ import { UIKIT_DEMO_CREDENTIALS_ARE_NOT_ALLOWED_IN_PROD_ENVIRONMENT } from '../uikit_demo_credentials';
300
+ import type { Position } from '@rio-cloud/rio-uikit/mapTypes';
301
+
302
+ const position = { lat: 48.7497783, lng: 12.8300291 };
303
+
304
+ const positions: Position[] = [
305
+ { lat: 48.6898766, lng: 12.6748714 },
306
+ { lat: 48.69664, lng: 12.676465 },
307
+ { lat: 48.7036781, lng: 12.6883364 },
308
+ { lat: 48.7120438, lng: 12.7029095 },
309
+ { lat: 48.719677, lng: 12.7183695 },
310
+ { lat: 48.7297783, lng: 12.7300291 },
311
+ { lat: 48.7417717, lng: 12.736865 },
312
+ { lat: 48.7487717, lng: 12.7527666 },
313
+ { lat: 48.7575531, lng: 12.7673788 },
314
+ { lat: 48.7681808, lng: 12.7792053 },
315
+ { lat: 48.7763824, lng: 12.7935705 },
316
+ { lat: 48.7802505, lng: 12.8117657 },
317
+ { lat: 48.7864838, lng: 12.8284893 },
318
+ { lat: 48.7955551, lng: 12.8416948 },
319
+ { lat: 48.801033, lng: 12.8583927 },
320
+ { lat: 48.8017998, lng: 12.8773537 },
321
+ { lat: 48.7978935, lng: 12.8954306 },
322
+ { lat: 48.7991867, lng: 12.9137754 },
323
+ { lat: 48.8086166, lng: 12.9266558 },
324
+ ];
325
+
326
+ const getRandomModifier = () => {
327
+ const operator = Math.random() < 0.5 ? -1 : 1;
328
+ return Math.random() * Math.floor(1) * operator;
329
+ };
330
+
331
+ const RouteWithChangingGeometryExample = () => {
332
+ const [currentRoute, setCurrentRoute] = useState(positions);
333
+ const [center, setCenter] = useState(position);
334
+ const [showRoute, setShowRoute] = useState(true);
335
+
336
+ const handleClick = () => {
337
+ const modifier = getRandomModifier();
338
+ const newRoute = currentRoute.map(pos => {
339
+ return { lat: pos.lat + modifier, lng: pos.lng + modifier };
340
+ });
341
+
342
+ setCurrentRoute(newRoute);
343
+ setCenter(newRoute[Math.floor(currentRoute.length / 2)]);
344
+ };
345
+
346
+ const handleToggle = () => setShowRoute(!showRoute);
347
+
348
+ return (
349
+ <React.Fragment>
350
+ <Map
351
+ credentials={UIKIT_DEMO_CREDENTIALS_ARE_NOT_ALLOWED_IN_PROD_ENVIRONMENT}
352
+ center={center}
353
+ zoom={10}
354
+ height={300}
355
+ mapSettings={
356
+ <MapSettings
357
+ options={[
358
+ <MapTypeSettings
359
+ key='mapTypeSettings'
360
+ tooltip='Change map type'
361
+ dropdownHeaderText='Map views'
362
+ defaultTypeLabel='Default view'
363
+ truckTypeLabel='Truck view'
364
+ terrainTypeLabel='Terrain view'
365
+ satelliteTypeLabel='Satellite view'
366
+ nightTypeLabel='Night view'
367
+ />,
368
+ ]}
369
+ />
370
+ }
371
+ >
372
+ {showRoute && (
373
+ <Route
374
+ positions={currentRoute}
375
+ startIcon={<SingleMapMarker iconNames={['start']} markerColor='bg-map-marker-route' />}
376
+ middleIcon={
377
+ <SingleMapMarker
378
+ anchorIconName='route'
379
+ markerColor='bg-map-marker-route'
380
+ clickable={false}
381
+ anchorSize='lg'
382
+ />
383
+ }
384
+ endIcon={<SingleMapMarker iconNames={['finish']} markerColor='bg-map-marker-route' />}
385
+ />
386
+ )}
387
+ </Map>
388
+ <div className='btn-toolbar margin-top-10'>
389
+ <Button onClick={handleClick}>Change route</Button>
390
+ <Button onClick={handleToggle}>Toggle route</Button>
391
+ </div>
392
+ </React.Fragment>
393
+ );
394
+ };
395
+
396
+ export default RouteWithChangingGeometryExample;
397
+ ```
398
+
399
+ #### Props
400
+
401
+ | Name | Type | Default | Description |
402
+ | --- | --- | --- | --- |
403
+ | positions | Array of Objects | — | Array of points {lat, lng} the route is connecting. |
404
+ | hasArrows | Boolean | true | Defines whether to show arrows or not. |
405
+ | arrowStyle | ArrowStyle | — | Defines the style of the arrows on the route. |
406
+ | isReduced | Boolean | false | Defines whether to render the route as reduced (transparent). |
407
+ | isRouteAlternative | Boolean | false | Defines whether to render the route with alternative route style. |
408
+ | style | RouteStyle | — | Custom style for the route. |
409
+ | eventListenerMap | EventListenerMap | — | Map of event listeners for the route. |
410
+ | startIcon | JSX.Element | — | Icon to be displayed at the start of the route. |
411
+ | middleIcon | JSX.Element | — | Icon to be displayed at the middle of the route. |
412
+ | endIcon | JSX.Element | — | Icon to be displayed at the end of the route. |
413
+ | markers | JSX.Element[] | — | Array of markers to be displayed on the route. |
414
+ | customData | object | — | Custom data to be passed to the route. |
415
+
416
+ ## Route with changing styles
417
+
418
+ ### Example: Example 3
419
+
420
+ Terms of use© 1987–2025 HERE
421
+
422
+ 10 km
423
+
424
+ Choose view
425
+ Map view
426
+ Satellite
427
+
428
+ Traffic conditions
429
+ Show traffic incidents
430
+
431
+ Toggle reduced styleToggle arrows
432
+
433
+ #### Summary
434
+
435
+ Terms of use© 1987–2025 HERE
436
+
437
+ 10 km
438
+
439
+ Choose view
440
+ Map view
441
+ Satellite
442
+
443
+ Traffic conditions
444
+ Show traffic incidents
445
+
446
+ Toggle reduced styleToggle arrows
447
+
448
+ #### React (tsx)
449
+
450
+ ```tsx
451
+ import React, { useState } from 'react';
452
+
453
+ // biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>
454
+ import Map from '@rio-cloud/rio-uikit/Map';
455
+ import Route from '@rio-cloud/rio-uikit/Route';
456
+ import SingleMapMarker from '@rio-cloud/rio-uikit/SingleMapMarker';
457
+ import MapSettings from '@rio-cloud/rio-uikit/MapSettings';
458
+ import MapTypeSettings from '@rio-cloud/rio-uikit/MapTypeSettings';
459
+ import Button from '@rio-cloud/rio-uikit/Button';
460
+
461
+ import { UIKIT_DEMO_CREDENTIALS_ARE_NOT_ALLOWED_IN_PROD_ENVIRONMENT } from '../uikit_demo_credentials';
462
+ import type { Position } from '@rio-cloud/rio-uikit/mapTypes';
463
+
464
+ const position = { lat: 48.7497783, lng: 12.8300291 };
465
+
466
+ const positions: Position[] = [
467
+ { lat: 48.6898766, lng: 12.6748714 },
468
+ { lat: 48.69664, lng: 12.676465 },
469
+ { lat: 48.7036781, lng: 12.6883364 },
470
+ { lat: 48.7120438, lng: 12.7029095 },
471
+ { lat: 48.719677, lng: 12.7183695 },
472
+ { lat: 48.7297783, lng: 12.7300291 },
473
+ { lat: 48.7417717, lng: 12.736865 },
474
+ { lat: 48.7487717, lng: 12.7527666 },
475
+ { lat: 48.7575531, lng: 12.7673788 },
476
+ { lat: 48.7681808, lng: 12.7792053 },
477
+ { lat: 48.7763824, lng: 12.7935705 },
478
+ { lat: 48.7802505, lng: 12.8117657 },
479
+ { lat: 48.7864838, lng: 12.8284893 },
480
+ { lat: 48.7955551, lng: 12.8416948 },
481
+ { lat: 48.801033, lng: 12.8583927 },
482
+ { lat: 48.8017998, lng: 12.8773537 },
483
+ { lat: 48.7978935, lng: 12.8954306 },
484
+ { lat: 48.7991867, lng: 12.9137754 },
485
+ { lat: 48.8086166, lng: 12.9266558 },
486
+ ];
487
+
488
+ const RouteWithChangingStylesExample = () => {
489
+ const [reduced, setReduced] = useState(false);
490
+ const [arrows, setArrows] = useState(false);
491
+
492
+ const handleReducedButtonClick = () => setReduced(!reduced);
493
+ const handleArrowsButtonClick = () => setArrows(!arrows);
494
+
495
+ return (
496
+ <React.Fragment>
497
+ <Map
498
+ credentials={UIKIT_DEMO_CREDENTIALS_ARE_NOT_ALLOWED_IN_PROD_ENVIRONMENT}
499
+ center={position}
500
+ zoom={10}
501
+ height={300}
502
+ mapSettings={
503
+ <MapSettings
504
+ options={[
505
+ <MapTypeSettings
506
+ key='mapTypeSettings'
507
+ tooltip='Change map type'
508
+ dropdownHeaderText='Map views'
509
+ defaultTypeLabel='Default view'
510
+ truckTypeLabel='Truck view'
511
+ terrainTypeLabel='Terrain view'
512
+ satelliteTypeLabel='Satellite view'
513
+ nightTypeLabel='Night view'
514
+ />,
515
+ ]}
516
+ />
517
+ }
518
+ >
519
+ <Route
520
+ isReduced={reduced}
521
+ hasArrows={arrows}
522
+ positions={positions}
523
+ startIcon={<SingleMapMarker iconNames={['start']} markerColor='bg-map-marker-route' />}
524
+ endIcon={<SingleMapMarker iconNames={['finish']} markerColor='bg-map-marker-route' />}
525
+ />
526
+ </Map>
527
+ <div className='btn-toolbar margin-top-10'>
528
+ <Button onClick={handleReducedButtonClick}>Toggle reduced style</Button>
529
+ <Button onClick={handleArrowsButtonClick}>Toggle arrows</Button>
530
+ </div>
531
+ </React.Fragment>
532
+ );
533
+ };
534
+
535
+ export default RouteWithChangingStylesExample;
536
+ ```
537
+
538
+ #### Props
539
+
540
+ | Name | Type | Default | Description |
541
+ | --- | --- | --- | --- |
542
+ | positions | Array of Objects | — | Array of points {lat, lng} the route is connecting. |
543
+ | hasArrows | Boolean | true | Defines whether to show arrows or not. |
544
+ | arrowStyle | ArrowStyle | — | Defines the style of the arrows on the route. |
545
+ | isReduced | Boolean | false | Defines whether to render the route as reduced (transparent). |
546
+ | isRouteAlternative | Boolean | false | Defines whether to render the route with alternative route style. |
547
+ | style | RouteStyle | — | Custom style for the route. |
548
+ | eventListenerMap | EventListenerMap | — | Map of event listeners for the route. |
549
+ | startIcon | JSX.Element | — | Icon to be displayed at the start of the route. |
550
+ | middleIcon | JSX.Element | — | Icon to be displayed at the middle of the route. |
551
+ | endIcon | JSX.Element | — | Icon to be displayed at the end of the route. |
552
+ | markers | JSX.Element[] | — | Array of markers to be displayed on the route. |
553
+ | customData | object | — | Custom data to be passed to the route. |
554
+
555
+ ## Route with different colors
556
+
557
+ ### Example: Example 4
558
+
559
+ Terms of use© 1987–2025 HERE
560
+
561
+ 10 km
562
+
563
+ Choose view
564
+ Map view
565
+ Satellite
566
+
567
+ Traffic conditions
568
+ Show traffic incidents
569
+
570
+ #### Summary
571
+
572
+ Terms of use© 1987–2025 HERE
573
+
574
+ 10 km
575
+
576
+ Choose view
577
+ Map view
578
+ Satellite
579
+
580
+ Traffic conditions
581
+ Show traffic incidents
582
+
583
+ #### React (tsx)
584
+
585
+ ```tsx
586
+ // biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>
587
+ import Map from '@rio-cloud/rio-uikit/Map';
588
+ import Route, {
589
+ ROUTE_COLOR_DANGER,
590
+ ROUTE_COLOR_SUCCESS,
591
+ ROUTE_COLOR_WARNING,
592
+ ROUTE_COLOR_WHITE,
593
+ } from '@rio-cloud/rio-uikit/Route';
594
+ import SingleMapMarker from '@rio-cloud/rio-uikit/SingleMapMarker';
595
+ import MapSettings from '@rio-cloud/rio-uikit/MapSettings';
596
+ import MapTypeSettings from '@rio-cloud/rio-uikit/MapTypeSettings';
597
+
598
+ import { UIKIT_DEMO_CREDENTIALS_ARE_NOT_ALLOWED_IN_PROD_ENVIRONMENT } from '../uikit_demo_credentials';
599
+ import type { Position } from '@rio-cloud/rio-uikit/mapTypes';
600
+
601
+ const center = { lat: 48.7497783, lng: 12.8300291 };
602
+
603
+ const goodRouteStart: Position[] = [
604
+ { lat: 48.6898766, lng: 12.6748714 },
605
+ { lat: 48.69664, lng: 12.676465 },
606
+ { lat: 48.7036781, lng: 12.6883364 },
607
+ { lat: 48.7120438, lng: 12.7029095 },
608
+ { lat: 48.719677, lng: 12.7183695 },
609
+ { lat: 48.7297783, lng: 12.7300291 },
610
+ ];
611
+
612
+ const dangerRoute: Position[] = [
613
+ { lat: 48.7297783, lng: 12.7300291 },
614
+ { lat: 48.7417717, lng: 12.736865 },
615
+ { lat: 48.7487717, lng: 12.7527666 },
616
+ { lat: 48.7575531, lng: 12.7673788 },
617
+ { lat: 48.7681808, lng: 12.7792053 },
618
+ { lat: 48.7763824, lng: 12.7935705 },
619
+ { lat: 48.7802505, lng: 12.8117657 },
620
+ { lat: 48.7864838, lng: 12.8284893 },
621
+ { lat: 48.7955551, lng: 12.8416948 },
622
+ ];
623
+
624
+ const goodRouteEnd: Position[] = [
625
+ { lat: 48.7955551, lng: 12.8416948 },
626
+ { lat: 48.801033, lng: 12.8583927 },
627
+ { lat: 48.8017998, lng: 12.8773537 },
628
+ { lat: 48.7978935, lng: 12.8954306 },
629
+ { lat: 48.7991867, lng: 12.9137754 },
630
+ { lat: 48.8086166, lng: 12.9266558 },
631
+ ];
632
+
633
+ const getRandomModifier = () => {
634
+ const operator = Math.random() < 0.5 ? -1 : 1;
635
+ return Math.random() * Math.floor(1) * operator;
636
+ };
637
+
638
+ export default () => {
639
+ return (
640
+ <Map
641
+ credentials={UIKIT_DEMO_CREDENTIALS_ARE_NOT_ALLOWED_IN_PROD_ENVIRONMENT}
642
+ center={center}
643
+ zoom={10}
644
+ height={300}
645
+ mapSettings={
646
+ <MapSettings
647
+ options={[
648
+ <MapTypeSettings
649
+ key='mapTypeSettings'
650
+ tooltip='Change map type'
651
+ dropdownHeaderText='Map views'
652
+ defaultTypeLabel='Default view'
653
+ truckTypeLabel='Truck view'
654
+ terrainTypeLabel='Terrain view'
655
+ satelliteTypeLabel='Satellite view'
656
+ nightTypeLabel='Night view'
657
+ />,
658
+ ]}
659
+ />
660
+ }
661
+ >
662
+ <Route
663
+ positions={goodRouteStart}
664
+ startIcon={<SingleMapMarker iconNames={['start']} markerColor='bg-map-marker-route' />}
665
+ style={{ color: ROUTE_COLOR_WARNING }}
666
+ />
667
+ <Route
668
+ positions={dangerRoute}
669
+ middleIcon={
670
+ <SingleMapMarker
671
+ anchorIconName='road-restrictions'
672
+ anchorSize='lg'
673
+ markerColor='bg-map-marker-danger'
674
+ clickable={false}
675
+ />
676
+ }
677
+ style={{ color: ROUTE_COLOR_DANGER, borderColor: '#b91624' }}
678
+ arrowStyle={{
679
+ fillColor: ROUTE_COLOR_WHITE,
680
+ strokeColor: ROUTE_COLOR_WHITE,
681
+ }}
682
+ />
683
+ <Route
684
+ positions={goodRouteEnd}
685
+ middleIcon={
686
+ <SingleMapMarker
687
+ anchorIconName='ok'
688
+ anchorSize='lg'
689
+ markerColor='bg-map-marker-success'
690
+ clickable={false}
691
+ />
692
+ }
693
+ endIcon={<SingleMapMarker iconNames={['finish']} markerColor='bg-map-marker-route' />}
694
+ style={{ color: ROUTE_COLOR_SUCCESS }}
695
+ />
696
+ </Map>
697
+ );
698
+ };
699
+ ```
700
+
701
+ #### Props
702
+
703
+ | Name | Type | Default | Description |
704
+ | --- | --- | --- | --- |
705
+ | positions | Array of Objects | — | Array of points {lat, lng} the route is connecting. |
706
+ | hasArrows | Boolean | true | Defines whether to show arrows or not. |
707
+ | arrowStyle | ArrowStyle | — | Defines the style of the arrows on the route. |
708
+ | isReduced | Boolean | false | Defines whether to render the route as reduced (transparent). |
709
+ | isRouteAlternative | Boolean | false | Defines whether to render the route with alternative route style. |
710
+ | style | RouteStyle | — | Custom style for the route. |
711
+ | eventListenerMap | EventListenerMap | — | Map of event listeners for the route. |
712
+ | startIcon | JSX.Element | — | Icon to be displayed at the start of the route. |
713
+ | middleIcon | JSX.Element | — | Icon to be displayed at the middle of the route. |
714
+ | endIcon | JSX.Element | — | Icon to be displayed at the end of the route. |
715
+ | markers | JSX.Element[] | — | Array of markers to be displayed on the route. |
716
+ | customData | object | — | Custom data to be passed to the route. |
717
+
718
+ ## Route indicating a range for electric vehicles
719
+
720
+ ### Example: Example 5
721
+
722
+ Terms of use© 1987–2025 HERE
723
+
724
+ 10 km
725
+
726
+ Choose view
727
+ Map view
728
+ Satellite
729
+
730
+ Traffic conditions
731
+ Show traffic incidents
732
+
733
+ #### Summary
734
+
735
+ Terms of use© 1987–2025 HERE
736
+
737
+ 10 km
738
+
739
+ Choose view
740
+ Map view
741
+ Satellite
742
+
743
+ Traffic conditions
744
+ Show traffic incidents
745
+
746
+ #### React (tsx)
747
+
748
+ ```tsx
749
+ // biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>
750
+ import Map from '@rio-cloud/rio-uikit/Map';
751
+ import Route, { ROUTE_COLOR_DANGER, ROUTE_COLOR_WARNING, ARROW_COLOR_WARNING } from '@rio-cloud/rio-uikit/Route';
752
+ import SingleMapMarker from '@rio-cloud/rio-uikit/SingleMapMarker';
753
+ import MapSettings from '@rio-cloud/rio-uikit/MapSettings';
754
+ import MapTypeSettings from '@rio-cloud/rio-uikit/MapTypeSettings';
755
+
756
+ import { UIKIT_DEMO_CREDENTIALS_ARE_NOT_ALLOWED_IN_PROD_ENVIRONMENT } from '../uikit_demo_credentials';
757
+ import type { Position } from '@rio-cloud/rio-uikit/mapTypes';
758
+
759
+ const center = { lat: 48.7497783, lng: 12.8300291 };
760
+
761
+ const goodRouteStart: Position[] = [
762
+ { lat: 48.6898766, lng: 12.6748714 },
763
+ { lat: 48.69664, lng: 12.676465 },
764
+ { lat: 48.7036781, lng: 12.6883364 },
765
+ { lat: 48.7120438, lng: 12.7029095 },
766
+ { lat: 48.719677, lng: 12.7183695 },
767
+ { lat: 48.7297783, lng: 12.7300291 },
768
+ ];
769
+
770
+ const dangerRoute: Position[] = [
771
+ { lat: 48.7297783, lng: 12.7300291 },
772
+ { lat: 48.7417717, lng: 12.736865 },
773
+ { lat: 48.7487717, lng: 12.7527666 },
774
+ { lat: 48.7575531, lng: 12.7673788 },
775
+ { lat: 48.7681808, lng: 12.7792053 },
776
+ { lat: 48.7763824, lng: 12.7935705 },
777
+ { lat: 48.7802505, lng: 12.8117657 },
778
+ { lat: 48.7864838, lng: 12.8284893 },
779
+ { lat: 48.7955551, lng: 12.8416948 },
780
+ ];
781
+
782
+ const goodRouteEnd: Position[] = [
783
+ { lat: 48.7955551, lng: 12.8416948 },
784
+ { lat: 48.801033, lng: 12.8583927 },
785
+ { lat: 48.8017998, lng: 12.8773537 },
786
+ { lat: 48.7978935, lng: 12.8954306 },
787
+ { lat: 48.7991867, lng: 12.9137754 },
788
+ { lat: 48.8086166, lng: 12.9266558 },
789
+ ];
790
+
791
+ const getRandomModifier = () => {
792
+ const operator = Math.random() < 0.5 ? -1 : 1;
793
+ return Math.random() * Math.floor(1) * operator;
794
+ };
795
+
796
+ export default () => {
797
+ return (
798
+ <Map
799
+ credentials={UIKIT_DEMO_CREDENTIALS_ARE_NOT_ALLOWED_IN_PROD_ENVIRONMENT}
800
+ center={center}
801
+ zoom={10}
802
+ height={300}
803
+ mapSettings={
804
+ <MapSettings
805
+ options={[
806
+ <MapTypeSettings
807
+ key='mapTypeSettings'
808
+ tooltip='Change map type'
809
+ dropdownHeaderText='Map views'
810
+ defaultTypeLabel='Default view'
811
+ truckTypeLabel='Truck view'
812
+ terrainTypeLabel='Terrain view'
813
+ satelliteTypeLabel='Satellite view'
814
+ nightTypeLabel='Night view'
815
+ />,
816
+ ]}
817
+ />
818
+ }
819
+ >
820
+ <Route
821
+ positions={goodRouteStart}
822
+ startIcon={<SingleMapMarker iconNames={['start']} markerColor='bg-map-marker-route' />}
823
+ />
824
+ <Route
825
+ positions={dangerRoute}
826
+ startIcon={
827
+ <SingleMapMarker
828
+ anchorIconName='battery-level-low'
829
+ anchorSize='lg'
830
+ markerColor='bg-map-marker-warning'
831
+ clickable={false}
832
+ />
833
+ }
834
+ style={{ color: ROUTE_COLOR_WARNING }}
835
+ arrowStyle={{
836
+ fillColor: ARROW_COLOR_WARNING,
837
+ strokeColor: ARROW_COLOR_WARNING,
838
+ }}
839
+ />
840
+ <Route
841
+ positions={goodRouteEnd}
842
+ startIcon={
843
+ <SingleMapMarker
844
+ anchorIconName='battery-level-empty'
845
+ anchorSize='lg'
846
+ markerColor='bg-map-marker-danger'
847
+ clickable={false}
848
+ />
849
+ }
850
+ endIcon={<SingleMapMarker iconNames={['finish']} markerColor='bg-map-marker-danger' />}
851
+ style={{ color: ROUTE_COLOR_DANGER, borderColor: '#b91624', borderWidth: 0, lineDash: [1.5, 1] }}
852
+ hasArrows={false}
853
+ />
854
+ </Map>
855
+ );
856
+ };
857
+ ```
858
+
859
+ #### Props
860
+
861
+ | Name | Type | Default | Description |
862
+ | --- | --- | --- | --- |
863
+ | positions | Array of Objects | — | Array of points {lat, lng} the route is connecting. |
864
+ | hasArrows | Boolean | true | Defines whether to show arrows or not. |
865
+ | arrowStyle | ArrowStyle | — | Defines the style of the arrows on the route. |
866
+ | isReduced | Boolean | false | Defines whether to render the route as reduced (transparent). |
867
+ | isRouteAlternative | Boolean | false | Defines whether to render the route with alternative route style. |
868
+ | style | RouteStyle | — | Custom style for the route. |
869
+ | eventListenerMap | EventListenerMap | — | Map of event listeners for the route. |
870
+ | startIcon | JSX.Element | — | Icon to be displayed at the start of the route. |
871
+ | middleIcon | JSX.Element | — | Icon to be displayed at the middle of the route. |
872
+ | endIcon | JSX.Element | — | Icon to be displayed at the end of the route. |
873
+ | markers | JSX.Element[] | — | Array of markers to be displayed on the route. |
874
+ | customData | object | — | Custom data to be passed to the route. |
875
+
876
+ ## Route sandbox
877
+
878
+ ### Example: Example 6
879
+
880
+ Terms of use© 1987–2025 HERE
881
+
882
+ 10 km
883
+
884
+ Choose view
885
+ Map view
886
+ Satellite
887
+
888
+ Traffic conditions
889
+ Show traffic incidents
890
+
891
+ {
892
+ "segments": [
893
+ {
894
+ "points": [
895
+ {
896
+ "lat": 48.17933,
897
+ "lng": 11.48731
898
+ },
899
+ {
900
+ "lat": 48.17937,
901
+ "lng": 11.4875
902
+ },
903
+ {
904
+ "lat": 48.17939,
905
+ "lng": 11.48767
906
+ },
907
+ {
908
+ "lat": 48.17941,
909
+ "lng": 11.4879
910
+ },
911
+ {
912
+ "lat": 48.17942,
913
+ "lng": 11.48826
914
+ },
915
+ {
916
+ "lat": 48.17942,
917
+ "lng": 11.48867
918
+ },
919
+ {
920
+ "lat": 48.17941,
921
+ "lng": 11.48924
922
+ },
923
+ {
924
+ "lat": 48.1794,
925
+ "lng": 11.48959
926
+ },
927
+ {
928
+ "lat": 48.17939,
929
+ "lng": 11.48999
930
+ },
931
+ {
932
+ "lat": 48.17936,
933
+ "lng": 11.4904
934
+ },
935
+ {
936
+ "lat": 48.17933,
937
+ "lng": 11.4906
938
+ },
939
+ {
940
+ "lat": 48.17927,
941
+ "lng": 11.49095
942
+ },
943
+ {
944
+ "lat": 48.17915,
945
+ "lng": 11.49154
946
+ },
947
+ {
948
+ "lat": 48.17895,
949
+ "lng": 11.49235
950
+ },
951
+ {
952
+ "lat": 48.1788,
953
+ "lng": 11.49283
954
+ },
955
+ {
956
+ "lat": 48.17869,
957
+ "lng": 11.49314
958
+ },
959
+ {
960
+ "lat": 48.17856,
961
+ "lng": 11.49346
962
+ },
963
+ {
964
+ "lat": 48.17843,
965
+ "lng": 11.49376
966
+ },
967
+ {
968
+ "lat": 48.17828,
969
+ "lng": 11.49413
970
+ },
971
+ {
972
+ "lat": 48.17813,
973
+ "lng": 11.49445
974
+ },
975
+ {
976
+ "lat": 48.17797,
977
+ "lng": 11.49479
978
+ },
979
+ {
980
+ "lat": 48.1778,
981
+ "lng": 11.49521
982
+ },
983
+ {
984
+ "lat": 48.17775,
985
+ "lng": 11.49538
986
+ },
987
+ {
988
+ "lat": 48.17769,
989
+ "lng": 11.49551
990
+ },
991
+ {
992
+ "lat": 48.17757,
993
+ "lng": 11.49576
994
+ },
995
+ {
996
+ "lat": 48.17752,
997
+ "lng": 11.49586
998
+ },
999
+ {
1000
+ "lat": 48.17748,
1001
+ "lng": 11.49595
1002
+ },
1003
+ {
1004
+ "lat": 48.17744,
1005
+ "lng": 11.49604
1006
+ },
1007
+ {
1008
+ "lat": 48.17735,
1009
+ "lng": 11.49622
1010
+ },
1011
+ {
1012
+ "lat": 48.17722,
1013
+ "lng": 11.49649
1014
+ },
1015
+ {
1016
+ "lat": 48.17701,
1017
+ "lng": 11.49692
1018
+ },
1019
+ {
1020
+ "lat": 48.177,
1021
+ "lng": 11.49695
1022
+ },
1023
+ {
1024
+ "lat": 48.17698,
1025
+ "lng": 11.49699
1026
+ },
1027
+ {
1028
+ "lat": 48.1767,
1029
+ "lng": 11.49758
1030
+ },
1031
+ {
1032
+ "lat": 48.1758,
1033
+ "lng": 11.49944
1034
+ },
1035
+ {
1036
+ "lat": 48.17572,
1037
+ "lng": 11.4996
1038
+ },
1039
+ {
1040
+ "lat": 48.17538,
1041
+ "lng": 11.50031
1042
+ },
1043
+ {
1044
+ "lat": 48.17523,
1045
+ "lng": 11.50061
1046
+ },
1047
+ {
1048
+ "lat": 48.17519,
1049
+ "lng": 11.50069
1050
+ },
1051
+ {
1052
+ "lat": 48.17513,
1053
+ "lng": 11.50081
1054
+ },
1055
+ {
1056
+ "lat": 48.17495,
1057
+ "lng": 11.50117
1058
+ },
1059
+ {
1060
+ "lat": 48.17468,
1061
+ "lng": 11.50171
1062
+ },
1063
+ {
1064
+ "lat": 48.17449,
1065
+ "lng": 11.50205
1066
+ },
1067
+ {
1068
+ "lat": 48.17431,
1069
+ "lng": 11.50234
1070
+ },
1071
+ {
1072
+ "lat": 48.17418,
1073
+ "lng": 11.50254
1074
+ },
1075
+ {
1076
+ "lat": 48.17405,
1077
+ "lng": 11.5027
1078
+ },
1079
+ {
1080
+ "lat": 48.17346,
1081
+ "lng": 11.5035
1082
+ },
1083
+ {
1084
+ "lat": 48.173,
1085
+ "lng": 11.50416
1086
+ },
1087
+ {
1088
+ "lat": 48.17276,
1089
+ "lng": 11.50448
1090
+ },
1091
+ {
1092
+ "lat": 48.17253,
1093
+ "lng": 11.50482
1094
+ },
1095
+ {
1096
+ "lat": 48.17237,
1097
+ "lng": 11.50509
1098
+ },
1099
+ {
1100
+ "lat": 48.17223,
1101
+ "lng": 11.50536
1102
+ },
1103
+ {
1104
+ "lat": 48.1721,
1105
+ "lng": 11.50564
1106
+ },
1107
+ {
1108
+ "lat": 48.17188,
1109
+ "lng": 11.50614
1110
+ },
1111
+ {
1112
+ "lat": 48.17169,
1113
+ "lng": 11.50658
1114
+ },
1115
+ {
1116
+ "lat": 48.17128,
1117
+ "lng": 11.50753
1118
+ },
1119
+ {
1120
+ "lat": 48.17117,
1121
+ "lng": 11.50777
1122
+ },
1123
+ {
1124
+ "lat": 48.17095,
1125
+ "lng": 11.50828
1126
+ },
1127
+ {
1128
+ "lat": 48.1709,
1129
+ "lng": 11.50838
1130
+ },
1131
+ {
1132
+ "lat": 48.17076,
1133
+ "lng": 11.50871
1134
+ },
1135
+ {
1136
+ "lat": 48.17057,
1137
+ "lng": 11.50922
1138
+ },
1139
+ {
1140
+ "lat": 48.17051,
1141
+ "lng": 11.50938
1142
+ },
1143
+ {
1144
+ "lat": 48.17042,
1145
+ "lng": 11.50953
1146
+ },
1147
+ {
1148
+ "lat": 48.17032,
1149
+ "lng": 11.50976
1150
+ },
1151
+ {
1152
+ "lat": 48.17022,
1153
+ "lng": 11.50999
1154
+ },
1155
+ {
1156
+ "lat": 48.17014,
1157
+ "lng": 11.51017
1158
+ },
1159
+ {
1160
+ "lat": 48.17007,
1161
+ "lng": 11.51029
1162
+ },
1163
+ {
1164
+ "lat": 48.16999,
1165
+ "lng": 11.51044
1166
+ },
1167
+ {
1168
+ "lat": 48.16993,
1169
+ "lng": 11.51055
1170
+ },
1171
+ {
1172
+ "lat": 48.16985,
1173
+ "lng": 11.51069
1174
+ },
1175
+ {
1176
+ "lat": 48.1698,
1177
+ "lng": 11.51078
1178
+ },
1179
+ {
1180
+ "lat": 48.16976,
1181
+ "lng": 11.51086
1182
+ },
1183
+ {
1184
+ "lat": 48.16984,
1185
+ "lng": 11.5109
1186
+ },
1187
+ {
1188
+ "lat": 48.16991,
1189
+ "lng": 11.51093
1190
+ },
1191
+ {
1192
+ "lat": 48.17003,
1193
+ "lng": 11.51097
1194
+ },
1195
+ {
1196
+ "lat": 48.17015,
1197
+ "lng": 11.51099
1198
+ },
1199
+ {
1200
+ "lat": 48.1703,
1201
+ "lng": 11.511
1202
+ },
1203
+ {
1204
+ "lat": 48.17048,
1205
+ "lng": 11.51104
1206
+ },
1207
+ {
1208
+ "lat": 48.17068,
1209
+ "lng": 11.5111
1210
+ },
1211
+ {
1212
+ "lat": 48.17093,
1213
+ "lng": 11.51118
1214
+ },
1215
+ {
1216
+ "lat": 48.17112,
1217
+ "lng": 11.51124
1218
+ },
1219
+ {
1220
+ "lat": 48.17131,
1221
+ "lng": 11.51131
1222
+ },
1223
+ {
1224
+ "lat": 48.1715,
1225
+ "lng": 11.51139
1226
+ },
1227
+ {
1228
+ "lat": 48.17165,
1229
+ "lng": 11.51147
1230
+ },
1231
+ {
1232
+ "lat": 48.17179,
1233
+ "lng": 11.51156
1234
+ },
1235
+ {
1236
+ "lat": 48.17192,
1237
+ "lng": 11.51166
1238
+ },
1239
+ {
1240
+ "lat": 48.17205,
1241
+ "lng": 11.51178
1242
+ },
1243
+ {
1244
+ "lat": 48.17219,
1245
+ "lng": 11.51192
1246
+ },
1247
+ {
1248
+ "lat": 48.17232,
1249
+ "lng": 11.51206
1250
+ },
1251
+ {
1252
+ "lat": 48.17242,
1253
+ "lng": 11.51219
1254
+ },
1255
+ {
1256
+ "lat": 48.17251,
1257
+ "lng": 11.51234
1258
+ },
1259
+ {
1260
+ "lat": 48.17261,
1261
+ "lng": 11.5125
1262
+ },
1263
+ {
1264
+ "lat": 48.1727,
1265
+ "lng": 11.51268
1266
+ },
1267
+ {
1268
+ "lat": 48.17279,
1269
+ "lng": 11.51287
1270
+ },
1271
+ {
1272
+ "lat": 48.17294,
1273
+ "lng": 11.51328
1274
+ },
1275
+ {
1276
+ "lat": 48.17304,
1277
+ "lng": 11.51362
1278
+ },
1279
+ {
1280
+ "lat": 48.17307,
1281
+ "lng": 11.51373
1282
+ },
1283
+ {
1284
+ "lat": 48.17315,
1285
+ "lng": 11.51402
1286
+ },
1287
+ {
1288
+ "lat": 48.17333,
1289
+ "lng": 11.51476
1290
+ },
1291
+ {
1292
+ "lat": 48.17341,
1293
+ "lng": 11.51511
1294
+ },
1295
+ {
1296
+ "lat": 48.17365,
1297
+ "lng": 11.51612
1298
+ },
1299
+ {
1300
+ "lat": 48.17394,
1301
+ "lng": 11.51727
1302
+ },
1303
+ {
1304
+ "lat": 48.1741,
1305
+ "lng": 11.51791
1306
+ },
1307
+ {
1308
+ "lat": 48.17416,
1309
+ "lng": 11.51819
1310
+ },
1311
+ {
1312
+ "lat": 48.17433,
1313
+ "lng": 11.51893
1314
+ },
1315
+ {
1316
+ "lat": 48.17438,
1317
+ "lng": 11.51911
1318
+ },
1319
+ {
1320
+ "lat": 48.17453,
1321
+ "lng": 11.51968
1322
+ },
1323
+ {
1324
+ "lat": 48.17465,
1325
+ "lng": 11.52003
1326
+ },
1327
+ {
1328
+ "lat": 48.17469,
1329
+ "lng": 11.52013
1330
+ },
1331
+ {
1332
+ "lat": 48.17477,
1333
+ "lng": 11.52031
1334
+ },
1335
+ {
1336
+ "lat": 48.17488,
1337
+ "lng": 11.52056
1338
+ },
1339
+ {
1340
+ "lat": 48.17501,
1341
+ "lng": 11.52084
1342
+ },
1343
+ {
1344
+ "lat": 48.17509,
1345
+ "lng": 11.52099
1346
+ },
1347
+ {
1348
+ "lat": 48.1754,
1349
+ "lng": 11.52154
1350
+ },
1351
+ {
1352
+ "lat": 48.17541,
1353
+ "lng": 11.52171
1354
+ },
1355
+ {
1356
+ "lat": 48.17542,
1357
+ "lng": 11.52198
1358
+ },
1359
+ {
1360
+ "lat": 48.17541,
1361
+ "lng": 11.52245
1362
+ },
1363
+ {
1364
+ "lat": 48.17517,
1365
+ "lng": 11.52292
1366
+ },
1367
+ {
1368
+ "lat": 48.17478,
1369
+ "lng": 11.52371
1370
+ },
1371
+ {
1372
+ "lat": 48.17462,
1373
+ "lng": 11.52403
1374
+ },
1375
+ {
1376
+ "lat": 48.17455,
1377
+ "lng": 11.52416
1378
+ },
1379
+ {
1380
+ "lat": 48.17451,
1381
+ "lng": 11.52425
1382
+ },
1383
+ {
1384
+ "lat": 48.17442,
1385
+ "lng": 11.52442
1386
+ },
1387
+ {
1388
+ "lat": 48.17421,
1389
+ "lng": 11.52483
1390
+ },
1391
+ {
1392
+ "lat": 48.17412,
1393
+ "lng": 11.52499
1394
+ },
1395
+ {
1396
+ "lat": 48.17388,
1397
+ "lng": 11.52544
1398
+ },
1399
+ {
1400
+ "lat": 48.17376,
1401
+ "lng": 11.52567
1402
+ },
1403
+ {
1404
+ "lat": 48.17353,
1405
+ "lng": 11.52614
1406
+ },
1407
+ {
1408
+ "lat": 48.17317,
1409
+ "lng": 11.52684
1410
+ },
1411
+ {
1412
+ "lat": 48.17299,
1413
+ "lng": 11.52719
1414
+ },
1415
+ {
1416
+ "lat": 48.17267,
1417
+ "lng": 11.52782
1418
+ },
1419
+ {
1420
+ "lat": 48.17262,
1421
+ "lng": 11.52792
1422
+ },
1423
+ {
1424
+ "lat": 48.17246,
1425
+ "lng": 11.52824
1426
+ },
1427
+ {
1428
+ "lat": 48.17225,
1429
+ "lng": 11.52861
1430
+ },
1431
+ {
1432
+ "lat": 48.17219,
1433
+ "lng": 11.52872
1434
+ },
1435
+ {
1436
+ "lat": 48.17214,
1437
+ "lng": 11.52882
1438
+ },
1439
+ {
1440
+ "lat": 48.17189,
1441
+ "lng": 11.52926
1442
+ },
1443
+ {
1444
+ "lat": 48.17187,
1445
+ "lng": 11.5293
1446
+ },
1447
+ {
1448
+ "lat": 48.1715,
1449
+ "lng": 11.52995
1450
+ },
1451
+ {
1452
+ "lat": 48.17132,
1453
+ "lng": 11.53026
1454
+ },
1455
+ {
1456
+ "lat": 48.17127,
1457
+ "lng": 11.53034
1458
+ },
1459
+ {
1460
+ "lat": 48.17103,
1461
+ "lng": 11.53075
1462
+ },
1463
+ {
1464
+ "lat": 48.17073,
1465
+ "lng": 11.53125
1466
+ },
1467
+ {
1468
+ "lat": 48.17028,
1469
+ "lng": 11.53194
1470
+ },
1471
+ {
1472
+ "lat": 48.17017,
1473
+ "lng": 11.53211
1474
+ },
1475
+ {
1476
+ "lat": 48.16982,
1477
+ "lng": 11.53266
1478
+ },
1479
+ {
1480
+ "lat": 48.16976,
1481
+ "lng": 11.53277
1482
+ },
1483
+ {
1484
+ "lat": 48.16939,
1485
+ "lng": 11.53331
1486
+ },
1487
+ {
1488
+ "lat": 48.16885,
1489
+ "lng": 11.53418
1490
+ },
1491
+ {
1492
+ "lat": 48.16872,
1493
+ "lng": 11.53437
1494
+ },
1495
+ {
1496
+ "lat": 48.16822,
1497
+ "lng": 11.5351
1498
+ },
1499
+ {
1500
+ "lat": 48.16809,
1501
+ "lng": 11.5353
1502
+ },
1503
+ {
1504
+ "lat": 48.16791,
1505
+ "lng": 11.53554
1506
+ },
1507
+ {
1508
+ "lat": 48.16785,
1509
+ "lng": 11.53562
1510
+ },
1511
+ {
1512
+ "lat": 48.16774,
1513
+ "lng": 11.53577
1514
+ },
1515
+ {
1516
+ "lat": 48.16761,
1517
+ "lng": 11.53593
1518
+ },
1519
+ {
1520
+ "lat": 48.16745,
1521
+ "lng": 11.53612
1522
+ },
1523
+ {
1524
+ "lat": 48.16714,
1525
+ "lng": 11.53644
1526
+ },
1527
+ {
1528
+ "lat": 48.167,
1529
+ "lng": 11.53659
1530
+ },
1531
+ {
1532
+ "lat": 48.16695,
1533
+ "lng": 11.53664
1534
+ },
1535
+ {
1536
+ "lat": 48.16688,
1537
+ "lng": 11.53671
1538
+ },
1539
+ {
1540
+ "lat": 48.16653,
1541
+ "lng": 11.53704
1542
+ },
1543
+ {
1544
+ "lat": 48.1659,
1545
+ "lng": 11.53768
1546
+ },
1547
+ {
1548
+ "lat": 48.16578,
1549
+ "lng": 11.53781
1550
+ },
1551
+ {
1552
+ "lat": 48.16564,
1553
+ "lng": 11.53796
1554
+ },
1555
+ {
1556
+ "lat": 48.1655,
1557
+ "lng": 11.53812
1558
+ },
1559
+ {
1560
+ "lat": 48.16513,
1561
+ "lng": 11.53854
1562
+ },
1563
+ {
1564
+ "lat": 48.16487,
1565
+ "lng": 11.53887
1566
+ },
1567
+ {
1568
+ "lat": 48.16472,
1569
+ "lng": 11.53908
1570
+ },
1571
+ {
1572
+ "lat": 48.1644,
1573
+ "lng": 11.53958
1574
+ },
1575
+ {
1576
+ "lat": 48.16432,
1577
+ "lng": 11.53971
1578
+ },
1579
+ {
1580
+ "lat": 48.16369,
1581
+ "lng": 11.54072
1582
+ },
1583
+ {
1584
+ "lat": 48.16354,
1585
+ "lng": 11.54097
1586
+ },
1587
+ {
1588
+ "lat": 48.16328,
1589
+ "lng": 11.54138
1590
+ },
1591
+ {
1592
+ "lat": 48.16281,
1593
+ "lng": 11.54216
1594
+ },
1595
+ {
1596
+ "lat": 48.16231,
1597
+ "lng": 11.54299
1598
+ },
1599
+ {
1600
+ "lat": 48.16185,
1601
+ "lng": 11.54381
1602
+ },
1603
+ {
1604
+ "lat": 48.16127,
1605
+ "lng": 11.54476
1606
+ },
1607
+ {
1608
+ "lat": 48.16115,
1609
+ "lng": 11.54496
1610
+ },
1611
+ {
1612
+ "lat": 48.16097,
1613
+ "lng": 11.54525
1614
+ },
1615
+ {
1616
+ "lat": 48.16073,
1617
+ "lng": 11.54561
1618
+ },
1619
+ {
1620
+ "lat": 48.16056,
1621
+ "lng": 11.54587
1622
+ },
1623
+ {
1624
+ "lat": 48.16029,
1625
+ "lng": 11.54625
1626
+ },
1627
+ {
1628
+ "lat": 48.16014,
1629
+ "lng": 11.54644
1630
+ },
1631
+ {
1632
+ "lat": 48.15994,
1633
+ "lng": 11.54668
1634
+ },
1635
+ {
1636
+ "lat": 48.15979,
1637
+ "lng": 11.54683
1638
+ },
1639
+ {
1640
+ "lat": 48.15969,
1641
+ "lng": 11.54693
1642
+ },
1643
+ {
1644
+ "lat": 48.15958,
1645
+ "lng": 11.54707
1646
+ },
1647
+ {
1648
+ "lat": 48.15947,
1649
+ "lng": 11.54721
1650
+ },
1651
+ {
1652
+ "lat": 48.15933,
1653
+ "lng": 11.54737
1654
+ },
1655
+ {
1656
+ "lat": 48.15902,
1657
+ "lng": 11.54779
1658
+ },
1659
+ {
1660
+ "lat": 48.15882,
1661
+ "lng": 11.54804
1662
+ },
1663
+ {
1664
+ "lat": 48.15811,
1665
+ "lng": 11.54893
1666
+ },
1667
+ {
1668
+ "lat": 48.15794,
1669
+ "lng": 11.54914
1670
+ },
1671
+ {
1672
+ "lat": 48.15734,
1673
+ "lng": 11.54987
1674
+ },
1675
+ {
1676
+ "lat": 48.15605,
1677
+ "lng": 11.55145
1678
+ },
1679
+ {
1680
+ "lat": 48.15531,
1681
+ "lng": 11.55236
1682
+ },
1683
+ {
1684
+ "lat": 48.15523,
1685
+ "lng": 11.55246
1686
+ },
1687
+ {
1688
+ "lat": 48.15422,
1689
+ "lng": 11.55378
1690
+ },
1691
+ {
1692
+ "lat": 48.15389,
1693
+ "lng": 11.55422
1694
+ },
1695
+ {
1696
+ "lat": 48.15342,
1697
+ "lng": 11.55479
1698
+ },
1699
+ {
1700
+ "lat": 48.15274,
1701
+ "lng": 11.55563
1702
+ },
1703
+ {
1704
+ "lat": 48.1521,
1705
+ "lng": 11.55639
1706
+ },
1707
+ {
1708
+ "lat": 48.15167,
1709
+ "lng": 11.5569
1710
+ },
1711
+ {
1712
+ "lat": 48.15153,
1713
+ "lng": 11.55707
1714
+ },
1715
+ {
1716
+ "lat": 48.15131,
1717
+ "lng": 11.55733
1718
+ },
1719
+ {
1720
+ "lat": 48.15102,
1721
+ "lng": 11.55766
1722
+ },
1723
+ {
1724
+ "lat": 48.1509,
1725
+ "lng": 11.55778
1726
+ },
1727
+ {
1728
+ "lat": 48.15085,
1729
+ "lng": 11.55771
1730
+ },
1731
+ {
1732
+ "lat": 48.15077,
1733
+ "lng": 11.55763
1734
+ },
1735
+ {
1736
+ "lat": 48.15061,
1737
+ "lng": 11.55751
1738
+ },
1739
+ {
1740
+ "lat": 48.15043,
1741
+ "lng": 11.55736
1742
+ },
1743
+ {
1744
+ "lat": 48.15036,
1745
+ "lng": 11.55733
1746
+ },
1747
+ {
1748
+ "lat": 48.15033,
1749
+ "lng": 11.55733
1750
+ },
1751
+ {
1752
+ "lat": 48.15029,
1753
+ "lng": 11.55735
1754
+ },
1755
+ {
1756
+ "lat": 48.15026,
1757
+ "lng": 11.55737
1758
+ },
1759
+ {
1760
+ "lat": 48.15023,
1761
+ "lng": 11.55742
1762
+ },
1763
+ {
1764
+ "lat": 48.15021,
1765
+ "lng": 11.55746
1766
+ },
1767
+ {
1768
+ "lat": 48.15021,
1769
+ "lng": 11.55753
1770
+ },
1771
+ {
1772
+ "lat": 48.15024,
1773
+ "lng": 11.55783
1774
+ },
1775
+ {
1776
+ "lat": 48.15027,
1777
+ "lng": 11.55813
1778
+ },
1779
+ {
1780
+ "lat": 48.15028,
1781
+ "lng": 11.55824
1782
+ },
1783
+ {
1784
+ "lat": 48.15028,
1785
+ "lng": 11.55836
1786
+ },
1787
+ {
1788
+ "lat": 48.15027,
1789
+ "lng": 11.55848
1790
+ },
1791
+ {
1792
+ "lat": 48.15023,
1793
+ "lng": 11.55868
1794
+ },
1795
+ {
1796
+ "lat": 48.1502,
1797
+ "lng": 11.55881
1798
+ },
1799
+ {
1800
+ "lat": 48.15017,
1801
+ "lng": 11.55891
1802
+ },
1803
+ {
1804
+ "lat": 48.14997,
1805
+ "lng": 11.55967
1806
+ },
1807
+ {
1808
+ "lat": 48.14985,
1809
+ "lng": 11.5601
1810
+ },
1811
+ {
1812
+ "lat": 48.14919,
1813
+ "lng": 11.56242
1814
+ },
1815
+ {
1816
+ "lat": 48.14908,
1817
+ "lng": 11.56282
1818
+ },
1819
+ {
1820
+ "lat": 48.14906,
1821
+ "lng": 11.56288
1822
+ },
1823
+ {
1824
+ "lat": 48.14873,
1825
+ "lng": 11.56403
1826
+ },
1827
+ {
1828
+ "lat": 48.14858,
1829
+ "lng": 11.56455
1830
+ },
1831
+ {
1832
+ "lat": 48.14845,
1833
+ "lng": 11.56501
1834
+ },
1835
+ {
1836
+ "lat": 48.14833,
1837
+ "lng": 11.56545
1838
+ },
1839
+ {
1840
+ "lat": 48.14821,
1841
+ "lng": 11.56587
1842
+ },
1843
+ {
1844
+ "lat": 48.14804,
1845
+ "lng": 11.5665
1846
+ },
1847
+ {
1848
+ "lat": 48.14793,
1849
+ "lng": 11.56688
1850
+ },
1851
+ {
1852
+ "lat": 48.14791,
1853
+ "lng": 11.56696
1854
+ },
1855
+ {
1856
+ "lat": 48.14782,
1857
+ "lng": 11.56726
1858
+ },
1859
+ {
1860
+ "lat": 48.1476,
1861
+ "lng": 11.56804
1862
+ },
1863
+ {
1864
+ "lat": 48.14755,
1865
+ "lng": 11.56823
1866
+ },
1867
+ {
1868
+ "lat": 48.14752,
1869
+ "lng": 11.56834
1870
+ },
1871
+ {
1872
+ "lat": 48.14725,
1873
+ "lng": 11.56927
1874
+ },
1875
+ {
1876
+ "lat": 48.14702,
1877
+ "lng": 11.5701
1878
+ },
1879
+ {
1880
+ "lat": 48.14695,
1881
+ "lng": 11.57037
1882
+ },
1883
+ {
1884
+ "lat": 48.14689,
1885
+ "lng": 11.57057
1886
+ },
1887
+ {
1888
+ "lat": 48.14631,
1889
+ "lng": 11.57269
1890
+ },
1891
+ {
1892
+ "lat": 48.14623,
1893
+ "lng": 11.57297
1894
+ },
1895
+ {
1896
+ "lat": 48.14607,
1897
+ "lng": 11.5732
1898
+ },
1899
+ {
1900
+ "lat": 48.14596,
1901
+ "lng": 11.57336
1902
+ },
1903
+ {
1904
+ "lat": 48.14587,
1905
+ "lng": 11.57355
1906
+ },
1907
+ {
1908
+ "lat": 48.14585,
1909
+ "lng": 11.57359
1910
+ },
1911
+ {
1912
+ "lat": 48.14577,
1913
+ "lng": 11.57378
1914
+ },
1915
+ {
1916
+ "lat": 48.14566,
1917
+ "lng": 11.57413
1918
+ },
1919
+ {
1920
+ "lat": 48.14562,
1921
+ "lng": 11.57426
1922
+ },
1923
+ {
1924
+ "lat": 48.14555,
1925
+ "lng": 11.57433
1926
+ },
1927
+ {
1928
+ "lat": 48.14552,
1929
+ "lng": 11.57439
1930
+ },
1931
+ {
1932
+ "lat": 48.14549,
1933
+ "lng": 11.57447
1934
+ },
1935
+ {
1936
+ "lat": 48.14546,
1937
+ "lng": 11.5746
1938
+ },
1939
+ {
1940
+ "lat": 48.14541,
1941
+ "lng": 11.57482
1942
+ },
1943
+ {
1944
+ "lat": 48.14538,
1945
+ "lng": 11.57501
1946
+ },
1947
+ {
1948
+ "lat": 48.14537,
1949
+ "lng": 11.57518
1950
+ },
1951
+ {
1952
+ "lat": 48.14539,
1953
+ "lng": 11.57552
1954
+ },
1955
+ {
1956
+ "lat": 48.14544,
1957
+ "lng": 11.57592
1958
+ },
1959
+ {
1960
+ "lat": 48.14546,
1961
+ "lng": 11.57626
1962
+ },
1963
+ {
1964
+ "lat": 48.14549,
1965
+ "lng": 11.57667
1966
+ },
1967
+ {
1968
+ "lat": 48.14551,
1969
+ "lng": 11.57702
1970
+ },
1971
+ {
1972
+ "lat": 48.14551,
1973
+ "lng": 11.57722
1974
+ },
1975
+ {
1976
+ "lat": 48.14551,
1977
+ "lng": 11.57737
1978
+ },
1979
+ {
1980
+ "lat": 48.14551,
1981
+ "lng": 11.57746
1982
+ },
1983
+ {
1984
+ "lat": 48.1455,
1985
+ "lng": 11.57762
1986
+ },
1987
+ {
1988
+ "lat": 48.14549,
1989
+ "lng": 11.57768
1990
+ },
1991
+ {
1992
+ "lat": 48.14547,
1993
+ "lng": 11.5778
1994
+ },
1995
+ {
1996
+ "lat": 48.14537,
1997
+ "lng": 11.57825
1998
+ },
1999
+ {
2000
+ "lat": 48.14525,
2001
+ "lng": 11.57878
2002
+ },
2003
+ {
2004
+ "lat": 48.14486,
2005
+ "lng": 11.57861
2006
+ },
2007
+ {
2008
+ "lat": 48.14467,
2009
+ "lng": 11.57852
2010
+ },
2011
+ {
2012
+ "lat": 48.14428,
2013
+ "lng": 11.57833
2014
+ },
2015
+ {
2016
+ "lat": 48.14411,
2017
+ "lng": 11.57825
2018
+ },
2019
+ {
2020
+ "lat": 48.14389,
2021
+ "lng": 11.57814
2022
+ },
2023
+ {
2024
+ "lat": 48.14357,
2025
+ "lng": 11.57799
2026
+ },
2027
+ {
2028
+ "lat": 48.1433,
2029
+ "lng": 11.57787
2030
+ },
2031
+ {
2032
+ "lat": 48.14318,
2033
+ "lng": 11.57782
2034
+ },
2035
+ {
2036
+ "lat": 48.14304,
2037
+ "lng": 11.57776
2038
+ },
2039
+ {
2040
+ "lat": 48.14263,
2041
+ "lng": 11.57752
2042
+ },
2043
+ {
2044
+ "lat": 48.14258,
2045
+ "lng": 11.57772
2046
+ },
2047
+ {
2048
+ "lat": 48.14244,
2049
+ "lng": 11.57771
2050
+ },
2051
+ {
2052
+ "lat": 48.14237,
2053
+ "lng": 11.57791
2054
+ },
2055
+ {
2056
+ "lat": 48.14244,
2057
+ "lng": 11.57771
2058
+ },
2059
+ {
2060
+ "lat": 48.14258,
2061
+ "lng": 11.57772
2062
+ },
2063
+ {
2064
+ "lat": 48.14251,
2065
+ "lng": 11.57804
2066
+ },
2067
+ {
2068
+ "lat": 48.14249,
2069
+ "lng": 11.57811
2070
+ },
2071
+ {
2072
+ "lat": 48.14241,
2073
+ "lng": 11.57837
2074
+ },
2075
+ {
2076
+ "lat": 48.14234,
2077
+ "lng": 11.57869
2078
+ },
2079
+ {
2080
+ "lat": 48.14222,
2081
+ "lng": 11.57923
2082
+ },
2083
+ {
2084
+ "lat": 48.14208,
2085
+ "lng": 11.57917
2086
+ },
2087
+ {
2088
+ "lat": 48.14193,
2089
+ "lng": 11.57996
2090
+ },
2091
+ {
2092
+ "lat": 48.14182,
2093
+ "lng": 11.58051
2094
+ },
2095
+ {
2096
+ "lat": 48.14166,
2097
+ "lng": 11.58118
2098
+ },
2099
+ {
2100
+ "lat": 48.14151,
2101
+ "lng": 11.58122
2102
+ },
2103
+ {
2104
+ "lat": 48.14122,
2105
+ "lng": 11.58107
2106
+ },
2107
+ {
2108
+ "lat": 48.1408,
2109
+ "lng": 11.58089
2110
+ },
2111
+ {
2112
+ "lat": 48.14029,
2113
+ "lng": 11.58068
2114
+ },
2115
+ {
2116
+ "lat": 48.1401,
2117
+ "lng": 11.58061
2118
+ },
2119
+ {
2120
+ "lat": 48.13995,
2121
+ "lng": 11.58055
2122
+ },
2123
+ {
2124
+ "lat": 48.13937,
2125
+ "lng": 11.58033
2126
+ },
2127
+ {
2128
+ "lat": 48.1391,
2129
+ "lng": 11.58025
2130
+ },
2131
+ {
2132
+ "lat": 48.13916,
2133
+ "lng": 11.57996
2134
+ },
2135
+ {
2136
+ "lat": 48.13878,
2137
+ "lng": 11.57965
2138
+ },
2139
+ {
2140
+ "lat": 48.13871,
2141
+ "lng": 11.57983
2142
+ },
2143
+ {
2144
+ "lat": 48.13859,
2145
+ "lng": 11.58013
2146
+ }
2147
+ ],
2148
+ "alternative": false
2149
+ }
2150
+ ],
2151
+ "markers": [
2152
+ {
2153
+ "id": "100",
2154
+ "position": {
2155
+ "lat": 48.17933,
2156
+ "lng": 11.48731
2157
+ },
2158
+ "markerProps": {
2159
+ "active": false,
2160
+ "iconNames": [
2161
+ "start"
2162
+ ],
2163
+ "markerColor": "bg-map-marker-route",
2164
+ "clickable": false
2165
+ }
2166
+ },
2167
+ {
2168
+ "id": "200",
2169
+ "position": {
2170
+ "lat": 48.13859,
2171
+ "lng": 11.58013
2172
+ },
2173
+ "markerProps": {
2174
+ "active": false,
2175
+ "iconNames": [
2176
+ "finish"
2177
+ ],
2178
+ "markerColor": "bg-map-marker-route",
2179
+ "clickable": false
2180
+ }
2181
+ },
2182
+ {
2183
+ "id": "59.70357",
2184
+ "position": {
2185
+ "lat": 48.16745,
2186
+ "lng": 11.53612
2187
+ },
2188
+ "markerProps": {
2189
+ "active": true,
2190
+ "iconNames": [
2191
+ "route"
2192
+ ],
2193
+ "markerColor": "bg-map-marker-route",
2194
+ "name": "10 km / 36 min",
2195
+ "clickable": false,
2196
+ "fixed": true
2197
+ }
2198
+ }
2199
+ ]
2200
+ }
2201
+
2202
+ Select file...
2203
+
2204
+ Create demo routeCreate demo markerToggle route events
2205
+ Enter your route data into the input or select a JSON file to render a route with multiple segments and markers. Please note that this will replace all previously existing markers and route segments.
2206
+ Segments are separate parts of the route, each containing a list of points, which can be rendered as reduced route (semi-transparent) and with or without arrows (showArrows). A Marker should provide aposition and markerProps to define its shape.
2207
+
2208
+ #### Summary
2209
+
2210
+ Terms of use© 1987–2025 HERE
2211
+
2212
+ 10 km
2213
+
2214
+ Choose view
2215
+ Map view
2216
+ Satellite
2217
+
2218
+ Traffic conditions
2219
+ Show traffic incidents
2220
+
2221
+ {
2222
+ "segments": [
2223
+ {
2224
+ "points": [
2225
+ {
2226
+ "lat": 48.17933,
2227
+ "lng": 11.48731
2228
+ },
2229
+ {
2230
+ "lat": 48.17937,
2231
+ "lng": 11.4875
2232
+ },
2233
+ {
2234
+ "lat": 48.17939,
2235
+ "lng": 11.48767
2236
+ },
2237
+ {
2238
+ "lat": 48.17941,
2239
+ "lng": 11.4879
2240
+ },
2241
+ {
2242
+ "lat": 48.17942,
2243
+ "lng": 11.48826
2244
+ },
2245
+ {
2246
+ "lat": 48.17942,
2247
+ "lng": 11.48867
2248
+ },
2249
+ {
2250
+ "lat": 48.17941,
2251
+ "lng": 11.48924
2252
+ },
2253
+ {
2254
+ "lat": 48.1794,
2255
+ "lng": 11.48959
2256
+ },
2257
+ {
2258
+ "lat": 48.17939,
2259
+ "lng": 11.48999
2260
+ },
2261
+ {
2262
+ "lat": 48.17936,
2263
+ "lng": 11.4904
2264
+ },
2265
+ {
2266
+ "lat": 48.17933,
2267
+ "lng": 11.4906
2268
+ },
2269
+ {
2270
+ "lat": 48.17927,
2271
+ "lng": 11.49095
2272
+ },
2273
+ {
2274
+ "lat": 48.17915,
2275
+ "lng": 11.49154
2276
+ },
2277
+ {
2278
+ "lat": 48.17895,
2279
+ "lng": 11.49235
2280
+ },
2281
+ {
2282
+ "lat": 48.1788,
2283
+ "lng": 11.49283
2284
+ },
2285
+ {
2286
+ "lat": 48.17869,
2287
+ "lng": 11.49314
2288
+ },
2289
+ {
2290
+ "lat": 48.17856,
2291
+ "lng": 11.49346
2292
+ },
2293
+ {
2294
+ "lat": 48.17843,
2295
+ "lng": 11.49376
2296
+ },
2297
+ {
2298
+ "lat": 48.17828,
2299
+ "lng": 11.49413
2300
+ },
2301
+ {
2302
+ "lat": 48.17813,
2303
+ "lng": 11.49445
2304
+ },
2305
+ {
2306
+ "lat": 48.17797,
2307
+ "lng": 11.49479
2308
+ },
2309
+ {
2310
+ "lat": 48.1778,
2311
+ "lng": 11.49521
2312
+ },
2313
+ {
2314
+ "lat": 48.17775,
2315
+ "lng": 11.49538
2316
+ },
2317
+ {
2318
+ "lat": 48.17769,
2319
+ "lng": 11.49551
2320
+ },
2321
+ {
2322
+ "lat": 48.17757,
2323
+ "lng": 11.49576
2324
+ },
2325
+ {
2326
+ "lat": 48.17752,
2327
+ "lng": 11.49586
2328
+ },
2329
+ {
2330
+ "lat": 48.17748,
2331
+ "lng": 11.49595
2332
+ },
2333
+ {
2334
+ "lat": 48.17744,
2335
+ "lng": 11.49604
2336
+ },
2337
+ {
2338
+ "lat": 48.17735,
2339
+ "lng": 11.49622
2340
+ },
2341
+ {
2342
+ "lat": 48.17722,
2343
+ "lng": 11.49649
2344
+ },
2345
+ {
2346
+ "lat": 48.17701,
2347
+ "lng": 11.49692
2348
+ },
2349
+ {
2350
+ "lat": 48.177,
2351
+ "lng": 11.49695
2352
+ },
2353
+ {
2354
+ "lat": 48.17698,
2355
+ "lng": 11.49699
2356
+ },
2357
+ {
2358
+ "lat": 48.1767,
2359
+ "lng": 11.49758
2360
+ },
2361
+ {
2362
+ "lat": 48.1758,
2363
+ "lng": 11.49944
2364
+ },
2365
+ {
2366
+ "lat": 48.17572,
2367
+ "lng": 11.4996
2368
+ },
2369
+ {
2370
+ "lat": 48.17538,
2371
+ "lng": 11.50031
2372
+ },
2373
+ {
2374
+ "lat": 48.17523,
2375
+ "lng": 11.50061
2376
+ },
2377
+ {
2378
+ "lat": 48.17519,
2379
+ "lng": 11.50069
2380
+ },
2381
+ {
2382
+ "lat": 48.17513,
2383
+ "lng": 11.50081
2384
+ },
2385
+ {
2386
+ "lat": 48.17495,
2387
+ "lng": 11.50117
2388
+ },
2389
+ {
2390
+ "lat": 48.17468,
2391
+ "lng": 11.50171
2392
+ },
2393
+ {
2394
+ "lat": 48.17449,
2395
+ "lng": 11.50205
2396
+ },
2397
+ {
2398
+ "lat": 48.17431,
2399
+ "lng": 11.50234
2400
+ },
2401
+ {
2402
+ "lat": 48.17418,
2403
+ "lng": 11.50254
2404
+ },
2405
+ {
2406
+ "lat": 48.17405,
2407
+ "lng": 11.5027
2408
+ },
2409
+ {
2410
+ "lat": 48.17346,
2411
+ "lng": 11.5035
2412
+ },
2413
+ {
2414
+ "lat": 48.173,
2415
+ "lng": 11.50416
2416
+ },
2417
+ {
2418
+ "lat": 48.17276,
2419
+ "lng": 11.50448
2420
+ },
2421
+ {
2422
+ "lat": 48.17253,
2423
+ "lng": 11.50482
2424
+ },
2425
+ {
2426
+ "lat": 48.17237,
2427
+ "lng": 11.50509
2428
+ },
2429
+ {
2430
+ "lat": 48.17223,
2431
+ "lng": 11.50536
2432
+ },
2433
+ {
2434
+ "lat": 48.1721,
2435
+ "lng": 11.50564
2436
+ },
2437
+ {
2438
+ "lat": 48.17188,
2439
+ "lng": 11.50614
2440
+ },
2441
+ {
2442
+ "lat": 48.17169,
2443
+ "lng": 11.50658
2444
+ },
2445
+ {
2446
+ "lat": 48.17128,
2447
+ "lng": 11.50753
2448
+ },
2449
+ {
2450
+ "lat": 48.17117,
2451
+ "lng": 11.50777
2452
+ },
2453
+ {
2454
+ "lat": 48.17095,
2455
+ "lng": 11.50828
2456
+ },
2457
+ {
2458
+ "lat": 48.1709,
2459
+ "lng": 11.50838
2460
+ },
2461
+ {
2462
+ "lat": 48.17076,
2463
+ "lng": 11.50871
2464
+ },
2465
+ {
2466
+ "lat": 48.17057,
2467
+ "lng": 11.50922
2468
+ },
2469
+ {
2470
+ "lat": 48.17051,
2471
+ "lng": 11.50938
2472
+ },
2473
+ {
2474
+ "lat": 48.17042,
2475
+ "lng": 11.50953
2476
+ },
2477
+ {
2478
+ "lat": 48.17032,
2479
+ "lng": 11.50976
2480
+ },
2481
+ {
2482
+ "lat": 48.17022,
2483
+ "lng": 11.50999
2484
+ },
2485
+ {
2486
+ "lat": 48.17014,
2487
+ "lng": 11.51017
2488
+ },
2489
+ {
2490
+ "lat": 48.17007,
2491
+ "lng": 11.51029
2492
+ },
2493
+ {
2494
+ "lat": 48.16999,
2495
+ "lng": 11.51044
2496
+ },
2497
+ {
2498
+ "lat": 48.16993,
2499
+ "lng": 11.51055
2500
+ },
2501
+ {
2502
+ "lat": 48.16985,
2503
+ "lng": 11.51069
2504
+ },
2505
+ {
2506
+ "lat": 48.1698,
2507
+ "lng": 11.51078
2508
+ },
2509
+ {
2510
+ "lat": 48.16976,
2511
+ "lng": 11.51086
2512
+ },
2513
+ {
2514
+ "lat": 48.16984,
2515
+ "lng": 11.5109
2516
+ },
2517
+ {
2518
+ "lat": 48.16991,
2519
+ "lng": 11.51093
2520
+ },
2521
+ {
2522
+ "lat": 48.17003,
2523
+ "lng": 11.51097
2524
+ },
2525
+ {
2526
+ "lat": 48.17015,
2527
+ "lng": 11.51099
2528
+ },
2529
+ {
2530
+ "lat": 48.1703,
2531
+ "lng": 11.511
2532
+ },
2533
+ {
2534
+ "lat": 48.17048,
2535
+ "lng": 11.51104
2536
+ },
2537
+ {
2538
+ "lat": 48.17068,
2539
+ "lng": 11.5111
2540
+ },
2541
+ {
2542
+ "lat": 48.17093,
2543
+ "lng": 11.51118
2544
+ },
2545
+ {
2546
+ "lat": 48.17112,
2547
+ "lng": 11.51124
2548
+ },
2549
+ {
2550
+ "lat": 48.17131,
2551
+ "lng": 11.51131
2552
+ },
2553
+ {
2554
+ "lat": 48.1715,
2555
+ "lng": 11.51139
2556
+ },
2557
+ {
2558
+ "lat": 48.17165,
2559
+ "lng": 11.51147
2560
+ },
2561
+ {
2562
+ "lat": 48.17179,
2563
+ "lng": 11.51156
2564
+ },
2565
+ {
2566
+ "lat": 48.17192,
2567
+ "lng": 11.51166
2568
+ },
2569
+ {
2570
+ "lat": 48.17205,
2571
+ "lng": 11.51178
2572
+ },
2573
+ {
2574
+ "lat": 48.17219,
2575
+ "lng": 11.51192
2576
+ },
2577
+ {
2578
+ "lat": 48.17232,
2579
+ "lng": 11.51206
2580
+ },
2581
+ {
2582
+ "lat": 48.17242,
2583
+ "lng": 11.51219
2584
+ },
2585
+ {
2586
+ "lat": 48.17251,
2587
+ "lng": 11.51234
2588
+ },
2589
+ {
2590
+ "lat": 48.17261,
2591
+ "lng": 11.5125
2592
+ },
2593
+ {
2594
+ "lat": 48.1727,
2595
+ "lng": 11.51268
2596
+ },
2597
+ {
2598
+ "lat": 48.17279,
2599
+ "lng": 11.51287
2600
+ },
2601
+ {
2602
+ "lat": 48.17294,
2603
+ "lng": 11.51328
2604
+ },
2605
+ {
2606
+ "lat": 48.17304,
2607
+ "lng": 11.51362
2608
+ },
2609
+ {
2610
+ "lat": 48.17307,
2611
+ "lng": 11.51373
2612
+ },
2613
+ {
2614
+ "lat": 48.17315,
2615
+ "lng": 11.51402
2616
+ },
2617
+ {
2618
+ "lat": 48.17333,
2619
+ "lng": 11.51476
2620
+ },
2621
+ {
2622
+ "lat": 48.17341,
2623
+ "lng": 11.51511
2624
+ },
2625
+ {
2626
+ "lat": 48.17365,
2627
+ "lng": 11.51612
2628
+ },
2629
+ {
2630
+ "lat": 48.17394,
2631
+ "lng": 11.51727
2632
+ },
2633
+ {
2634
+ "lat": 48.1741,
2635
+ "lng": 11.51791
2636
+ },
2637
+ {
2638
+ "lat": 48.17416,
2639
+ "lng": 11.51819
2640
+ },
2641
+ {
2642
+ "lat": 48.17433,
2643
+ "lng": 11.51893
2644
+ },
2645
+ {
2646
+ "lat": 48.17438,
2647
+ "lng": 11.51911
2648
+ },
2649
+ {
2650
+ "lat": 48.17453,
2651
+ "lng": 11.51968
2652
+ },
2653
+ {
2654
+ "lat": 48.17465,
2655
+ "lng": 11.52003
2656
+ },
2657
+ {
2658
+ "lat": 48.17469,
2659
+ "lng": 11.52013
2660
+ },
2661
+ {
2662
+ "lat": 48.17477,
2663
+ "lng": 11.52031
2664
+ },
2665
+ {
2666
+ "lat": 48.17488,
2667
+ "lng": 11.52056
2668
+ },
2669
+ {
2670
+ "lat": 48.17501,
2671
+ "lng": 11.52084
2672
+ },
2673
+ {
2674
+ "lat": 48.17509,
2675
+ "lng": 11.52099
2676
+ },
2677
+ {
2678
+ "lat": 48.1754,
2679
+ "lng": 11.52154
2680
+ },
2681
+ {
2682
+ "lat": 48.17541,
2683
+ "lng": 11.52171
2684
+ },
2685
+ {
2686
+ "lat": 48.17542,
2687
+ "lng": 11.52198
2688
+ },
2689
+ {
2690
+ "lat": 48.17541,
2691
+ "lng": 11.52245
2692
+ },
2693
+ {
2694
+ "lat": 48.17517,
2695
+ "lng": 11.52292
2696
+ },
2697
+ {
2698
+ "lat": 48.17478,
2699
+ "lng": 11.52371
2700
+ },
2701
+ {
2702
+ "lat": 48.17462,
2703
+ "lng": 11.52403
2704
+ },
2705
+ {
2706
+ "lat": 48.17455,
2707
+ "lng": 11.52416
2708
+ },
2709
+ {
2710
+ "lat": 48.17451,
2711
+ "lng": 11.52425
2712
+ },
2713
+ {
2714
+ "lat": 48.17442,
2715
+ "lng": 11.52442
2716
+ },
2717
+ {
2718
+ "lat": 48.17421,
2719
+ "lng": 11.52483
2720
+ },
2721
+ {
2722
+ "lat": 48.17412,
2723
+ "lng": 11.52499
2724
+ },
2725
+ {
2726
+ "lat": 48.17388,
2727
+ "lng": 11.52544
2728
+ },
2729
+ {
2730
+ "lat": 48.17376,
2731
+ "lng": 11.52567
2732
+ },
2733
+ {
2734
+ "lat": 48.17353,
2735
+ "lng": 11.52614
2736
+ },
2737
+ {
2738
+ "lat": 48.17317,
2739
+ "lng": 11.52684
2740
+ },
2741
+ {
2742
+ "lat": 48.17299,
2743
+ "lng": 11.52719
2744
+ },
2745
+ {
2746
+ "lat": 48.17267,
2747
+ "lng": 11.52782
2748
+ },
2749
+ {
2750
+ "lat": 48.17262,
2751
+ "lng": 11.52792
2752
+ },
2753
+ {
2754
+ "lat": 48.17246,
2755
+ "lng": 11.52824
2756
+ },
2757
+ {
2758
+ "lat": 48.17225,
2759
+ "lng": 11.52861
2760
+ },
2761
+ {
2762
+ "lat": 48.17219,
2763
+ "lng": 11.52872
2764
+ },
2765
+ {
2766
+ "lat": 48.17214,
2767
+ "lng": 11.52882
2768
+ },
2769
+ {
2770
+ "lat": 48.17189,
2771
+ "lng": 11.52926
2772
+ },
2773
+ {
2774
+ "lat": 48.17187,
2775
+ "lng": 11.5293
2776
+ },
2777
+ {
2778
+ "lat": 48.1715,
2779
+ "lng": 11.52995
2780
+ },
2781
+ {
2782
+ "lat": 48.17132,
2783
+ "lng": 11.53026
2784
+ },
2785
+ {
2786
+ "lat": 48.17127,
2787
+ "lng": 11.53034
2788
+ },
2789
+ {
2790
+ "lat": 48.17103,
2791
+ "lng": 11.53075
2792
+ },
2793
+ {
2794
+ "lat": 48.17073,
2795
+ "lng": 11.53125
2796
+ },
2797
+ {
2798
+ "lat": 48.17028,
2799
+ "lng": 11.53194
2800
+ },
2801
+ {
2802
+ "lat": 48.17017,
2803
+ "lng": 11.53211
2804
+ },
2805
+ {
2806
+ "lat": 48.16982,
2807
+ "lng": 11.53266
2808
+ },
2809
+ {
2810
+ "lat": 48.16976,
2811
+ "lng": 11.53277
2812
+ },
2813
+ {
2814
+ "lat": 48.16939,
2815
+ "lng": 11.53331
2816
+ },
2817
+ {
2818
+ "lat": 48.16885,
2819
+ "lng": 11.53418
2820
+ },
2821
+ {
2822
+ "lat": 48.16872,
2823
+ "lng": 11.53437
2824
+ },
2825
+ {
2826
+ "lat": 48.16822,
2827
+ "lng": 11.5351
2828
+ },
2829
+ {
2830
+ "lat": 48.16809,
2831
+ "lng": 11.5353
2832
+ },
2833
+ {
2834
+ "lat": 48.16791,
2835
+ "lng": 11.53554
2836
+ },
2837
+ {
2838
+ "lat": 48.16785,
2839
+ "lng": 11.53562
2840
+ },
2841
+ {
2842
+ "lat": 48.16774,
2843
+ "lng": 11.53577
2844
+ },
2845
+ {
2846
+ "lat": 48.16761,
2847
+ "lng": 11.53593
2848
+ },
2849
+ {
2850
+ "lat": 48.16745,
2851
+ "lng": 11.53612
2852
+ },
2853
+ {
2854
+ "lat": 48.16714,
2855
+ "lng": 11.53644
2856
+ },
2857
+ {
2858
+ "lat": 48.167,
2859
+ "lng": 11.53659
2860
+ },
2861
+ {
2862
+ "lat": 48.16695,
2863
+ "lng": 11.53664
2864
+ },
2865
+ {
2866
+ "lat": 48.16688,
2867
+ "lng": 11.53671
2868
+ },
2869
+ {
2870
+ "lat": 48.16653,
2871
+ "lng": 11.53704
2872
+ },
2873
+ {
2874
+ "lat": 48.1659,
2875
+ "lng": 11.53768
2876
+ },
2877
+ {
2878
+ "lat": 48.16578,
2879
+ "lng": 11.53781
2880
+ },
2881
+ {
2882
+ "lat": 48.16564,
2883
+ "lng": 11.53796
2884
+ },
2885
+ {
2886
+ "lat": 48.1655,
2887
+ "lng": 11.53812
2888
+ },
2889
+ {
2890
+ "lat": 48.16513,
2891
+ "lng": 11.53854
2892
+ },
2893
+ {
2894
+ "lat": 48.16487,
2895
+ "lng": 11.53887
2896
+ },
2897
+ {
2898
+ "lat": 48.16472,
2899
+ "lng": 11.53908
2900
+ },
2901
+ {
2902
+ "lat": 48.1644,
2903
+ "lng": 11.53958
2904
+ },
2905
+ {
2906
+ "lat": 48.16432,
2907
+ "lng": 11.53971
2908
+ },
2909
+ {
2910
+ "lat": 48.16369,
2911
+ "lng": 11.54072
2912
+ },
2913
+ {
2914
+ "lat": 48.16354,
2915
+ "lng": 11.54097
2916
+ },
2917
+ {
2918
+ "lat": 48.16328,
2919
+ "lng": 11.54138
2920
+ },
2921
+ {
2922
+ "lat": 48.16281,
2923
+ "lng": 11.54216
2924
+ },
2925
+ {
2926
+ "lat": 48.16231,
2927
+ "lng": 11.54299
2928
+ },
2929
+ {
2930
+ "lat": 48.16185,
2931
+ "lng": 11.54381
2932
+ },
2933
+ {
2934
+ "lat": 48.16127,
2935
+ "lng": 11.54476
2936
+ },
2937
+ {
2938
+ "lat": 48.16115,
2939
+ "lng": 11.54496
2940
+ },
2941
+ {
2942
+ "lat": 48.16097,
2943
+ "lng": 11.54525
2944
+ },
2945
+ {
2946
+ "lat": 48.16073,
2947
+ "lng": 11.54561
2948
+ },
2949
+ {
2950
+ "lat": 48.16056,
2951
+ "lng": 11.54587
2952
+ },
2953
+ {
2954
+ "lat": 48.16029,
2955
+ "lng": 11.54625
2956
+ },
2957
+ {
2958
+ "lat": 48.16014,
2959
+ "lng": 11.54644
2960
+ },
2961
+ {
2962
+ "lat": 48.15994,
2963
+ "lng": 11.54668
2964
+ },
2965
+ {
2966
+ "lat": 48.15979,
2967
+ "lng": 11.54683
2968
+ },
2969
+ {
2970
+ "lat": 48.15969,
2971
+ "lng": 11.54693
2972
+ },
2973
+ {
2974
+ "lat": 48.15958,
2975
+ "lng": 11.54707
2976
+ },
2977
+ {
2978
+ "lat": 48.15947,
2979
+ "lng": 11.54721
2980
+ },
2981
+ {
2982
+ "lat": 48.15933,
2983
+ "lng": 11.54737
2984
+ },
2985
+ {
2986
+ "lat": 48.15902,
2987
+ "lng": 11.54779
2988
+ },
2989
+ {
2990
+ "lat": 48.15882,
2991
+ "lng": 11.54804
2992
+ },
2993
+ {
2994
+ "lat": 48.15811,
2995
+ "lng": 11.54893
2996
+ },
2997
+ {
2998
+ "lat": 48.15794,
2999
+ "lng": 11.54914
3000
+ },
3001
+ {
3002
+ "lat": 48.15734,
3003
+ "lng": 11.54987
3004
+ },
3005
+ {
3006
+ "lat": 48.15605,
3007
+ "lng": 11.55145
3008
+ },
3009
+ {
3010
+ "lat": 48.15531,
3011
+ "lng": 11.55236
3012
+ },
3013
+ {
3014
+ "lat": 48.15523,
3015
+ "lng": 11.55246
3016
+ },
3017
+ {
3018
+ "lat": 48.15422,
3019
+ "lng": 11.55378
3020
+ },
3021
+ {
3022
+ "lat": 48.15389,
3023
+ "lng": 11.55422
3024
+ },
3025
+ {
3026
+ "lat": 48.15342,
3027
+ "lng": 11.55479
3028
+ },
3029
+ {
3030
+ "lat": 48.15274,
3031
+ "lng": 11.55563
3032
+ },
3033
+ {
3034
+ "lat": 48.1521,
3035
+ "lng": 11.55639
3036
+ },
3037
+ {
3038
+ "lat": 48.15167,
3039
+ "lng": 11.5569
3040
+ },
3041
+ {
3042
+ "lat": 48.15153,
3043
+ "lng": 11.55707
3044
+ },
3045
+ {
3046
+ "lat": 48.15131,
3047
+ "lng": 11.55733
3048
+ },
3049
+ {
3050
+ "lat": 48.15102,
3051
+ "lng": 11.55766
3052
+ },
3053
+ {
3054
+ "lat": 48.1509,
3055
+ "lng": 11.55778
3056
+ },
3057
+ {
3058
+ "lat": 48.15085,
3059
+ "lng": 11.55771
3060
+ },
3061
+ {
3062
+ "lat": 48.15077,
3063
+ "lng": 11.55763
3064
+ },
3065
+ {
3066
+ "lat": 48.15061,
3067
+ "lng": 11.55751
3068
+ },
3069
+ {
3070
+ "lat": 48.15043,
3071
+ "lng": 11.55736
3072
+ },
3073
+ {
3074
+ "lat": 48.15036,
3075
+ "lng": 11.55733
3076
+ },
3077
+ {
3078
+ "lat": 48.15033,
3079
+ "lng": 11.55733
3080
+ },
3081
+ {
3082
+ "lat": 48.15029,
3083
+ "lng": 11.55735
3084
+ },
3085
+ {
3086
+ "lat": 48.15026,
3087
+ "lng": 11.55737
3088
+ },
3089
+ {
3090
+ "lat": 48.15023,
3091
+ "lng": 11.55742
3092
+ },
3093
+ {
3094
+ "lat": 48.15021,
3095
+ "lng": 11.55746
3096
+ },
3097
+ {
3098
+ "lat": 48.15021,
3099
+ "lng": 11.55753
3100
+ },
3101
+ {
3102
+ "lat": 48.15024,
3103
+ "lng": 11.55783
3104
+ },
3105
+ {
3106
+ "lat": 48.15027,
3107
+ "lng": 11.55813
3108
+ },
3109
+ {
3110
+ "lat": 48.15028,
3111
+ "lng": 11.55824
3112
+ },
3113
+ {
3114
+ "lat": 48.15028,
3115
+ "lng": 11.55836
3116
+ },
3117
+ {
3118
+ "lat": 48.15027,
3119
+ "lng": 11.55848
3120
+ },
3121
+ {
3122
+ "lat": 48.15023,
3123
+ "lng": 11.55868
3124
+ },
3125
+ {
3126
+ "lat": 48.1502,
3127
+ "lng": 11.55881
3128
+ },
3129
+ {
3130
+ "lat": 48.15017,
3131
+ "lng": 11.55891
3132
+ },
3133
+ {
3134
+ "lat": 48.14997,
3135
+ "lng": 11.55967
3136
+ },
3137
+ {
3138
+ "lat": 48.14985,
3139
+ "lng": 11.5601
3140
+ },
3141
+ {
3142
+ "lat": 48.14919,
3143
+ "lng": 11.56242
3144
+ },
3145
+ {
3146
+ "lat": 48.14908,
3147
+ "lng": 11.56282
3148
+ },
3149
+ {
3150
+ "lat": 48.14906,
3151
+ "lng": 11.56288
3152
+ },
3153
+ {
3154
+ "lat": 48.14873,
3155
+ "lng": 11.56403
3156
+ },
3157
+ {
3158
+ "lat": 48.14858,
3159
+ "lng": 11.56455
3160
+ },
3161
+ {
3162
+ "lat": 48.14845,
3163
+ "lng": 11.56501
3164
+ },
3165
+ {
3166
+ "lat": 48.14833,
3167
+ "lng": 11.56545
3168
+ },
3169
+ {
3170
+ "lat": 48.14821,
3171
+ "lng": 11.56587
3172
+ },
3173
+ {
3174
+ "lat": 48.14804,
3175
+ "lng": 11.5665
3176
+ },
3177
+ {
3178
+ "lat": 48.14793,
3179
+ "lng": 11.56688
3180
+ },
3181
+ {
3182
+ "lat": 48.14791,
3183
+ "lng": 11.56696
3184
+ },
3185
+ {
3186
+ "lat": 48.14782,
3187
+ "lng": 11.56726
3188
+ },
3189
+ {
3190
+ "lat": 48.1476,
3191
+ "lng": 11.56804
3192
+ },
3193
+ {
3194
+ "lat": 48.14755,
3195
+ "lng": 11.56823
3196
+ },
3197
+ {
3198
+ "lat": 48.14752,
3199
+ "lng": 11.56834
3200
+ },
3201
+ {
3202
+ "lat": 48.14725,
3203
+ "lng": 11.56927
3204
+ },
3205
+ {
3206
+ "lat": 48.14702,
3207
+ "lng": 11.5701
3208
+ },
3209
+ {
3210
+ "lat": 48.14695,
3211
+ "lng": 11.57037
3212
+ },
3213
+ {
3214
+ "lat": 48.14689,
3215
+ "lng": 11.57057
3216
+ },
3217
+ {
3218
+ "lat": 48.14631,
3219
+ "lng": 11.57269
3220
+ },
3221
+ {
3222
+ "lat": 48.14623,
3223
+ "lng": 11.57297
3224
+ },
3225
+ {
3226
+ "lat": 48.14607,
3227
+ "lng": 11.5732
3228
+ },
3229
+ {
3230
+ "lat": 48.14596,
3231
+ "lng": 11.57336
3232
+ },
3233
+ {
3234
+ "lat": 48.14587,
3235
+ "lng": 11.57355
3236
+ },
3237
+ {
3238
+ "lat": 48.14585,
3239
+ "lng": 11.57359
3240
+ },
3241
+ {
3242
+ "lat": 48.14577,
3243
+ "lng": 11.57378
3244
+ },
3245
+ {
3246
+ "lat": 48.14566,
3247
+ "lng": 11.57413
3248
+ },
3249
+ {
3250
+ "lat": 48.14562,
3251
+ "lng": 11.57426
3252
+ },
3253
+ {
3254
+ "lat": 48.14555,
3255
+ "lng": 11.57433
3256
+ },
3257
+ {
3258
+ "lat": 48.14552,
3259
+ "lng": 11.57439
3260
+ },
3261
+ {
3262
+ "lat": 48.14549,
3263
+ "lng": 11.57447
3264
+ },
3265
+ {
3266
+ "lat": 48.14546,
3267
+ "lng": 11.5746
3268
+ },
3269
+ {
3270
+ "lat": 48.14541,
3271
+ "lng": 11.57482
3272
+ },
3273
+ {
3274
+ "lat": 48.14538,
3275
+ "lng": 11.57501
3276
+ },
3277
+ {
3278
+ "lat": 48.14537,
3279
+ "lng": 11.57518
3280
+ },
3281
+ {
3282
+ "lat": 48.14539,
3283
+ "lng": 11.57552
3284
+ },
3285
+ {
3286
+ "lat": 48.14544,
3287
+ "lng": 11.57592
3288
+ },
3289
+ {
3290
+ "lat": 48.14546,
3291
+ "lng": 11.57626
3292
+ },
3293
+ {
3294
+ "lat": 48.14549,
3295
+ "lng": 11.57667
3296
+ },
3297
+ {
3298
+ "lat": 48.14551,
3299
+ "lng": 11.57702
3300
+ },
3301
+ {
3302
+ "lat": 48.14551,
3303
+ "lng": 11.57722
3304
+ },
3305
+ {
3306
+ "lat": 48.14551,
3307
+ "lng": 11.57737
3308
+ },
3309
+ {
3310
+ "lat": 48.14551,
3311
+ "lng": 11.57746
3312
+ },
3313
+ {
3314
+ "lat": 48.1455,
3315
+ "lng": 11.57762
3316
+ },
3317
+ {
3318
+ "lat": 48.14549,
3319
+ "lng": 11.57768
3320
+ },
3321
+ {
3322
+ "lat": 48.14547,
3323
+ "lng": 11.5778
3324
+ },
3325
+ {
3326
+ "lat": 48.14537,
3327
+ "lng": 11.57825
3328
+ },
3329
+ {
3330
+ "lat": 48.14525,
3331
+ "lng": 11.57878
3332
+ },
3333
+ {
3334
+ "lat": 48.14486,
3335
+ "lng": 11.57861
3336
+ },
3337
+ {
3338
+ "lat": 48.14467,
3339
+ "lng": 11.57852
3340
+ },
3341
+ {
3342
+ "lat": 48.14428,
3343
+ "lng": 11.57833
3344
+ },
3345
+ {
3346
+ "lat": 48.14411,
3347
+ "lng": 11.57825
3348
+ },
3349
+ {
3350
+ "lat": 48.14389,
3351
+ "lng": 11.57814
3352
+ },
3353
+ {
3354
+ "lat": 48.14357,
3355
+ "lng": 11.57799
3356
+ },
3357
+ {
3358
+ "lat": 48.1433,
3359
+ "lng": 11.57787
3360
+ },
3361
+ {
3362
+ "lat": 48.14318,
3363
+ "lng": 11.57782
3364
+ },
3365
+ {
3366
+ "lat": 48.14304,
3367
+ "lng": 11.57776
3368
+ },
3369
+ {
3370
+ "lat": 48.14263,
3371
+ "lng": 11.57752
3372
+ },
3373
+ {
3374
+ "lat": 48.14258,
3375
+ "lng": 11.57772
3376
+ },
3377
+ {
3378
+ "lat": 48.14244,
3379
+ "lng": 11.57771
3380
+ },
3381
+ {
3382
+ "lat": 48.14237,
3383
+ "lng": 11.57791
3384
+ },
3385
+ {
3386
+ "lat": 48.14244,
3387
+ "lng": 11.57771
3388
+ },
3389
+ {
3390
+ "lat": 48.14258,
3391
+ "lng": 11.57772
3392
+ },
3393
+ {
3394
+ "lat": 48.14251,
3395
+ "lng": 11.57804
3396
+ },
3397
+ {
3398
+ "lat": 48.14249,
3399
+ "lng": 11.57811
3400
+ },
3401
+ {
3402
+ "lat": 48.14241,
3403
+ "lng": 11.57837
3404
+ },
3405
+ {
3406
+ "lat": 48.14234,
3407
+ "lng": 11.57869
3408
+ },
3409
+ {
3410
+ "lat": 48.14222,
3411
+ "lng": 11.57923
3412
+ },
3413
+ {
3414
+ "lat": 48.14208,
3415
+ "lng": 11.57917
3416
+ },
3417
+ {
3418
+ "lat": 48.14193,
3419
+ "lng": 11.57996
3420
+ },
3421
+ {
3422
+ "lat": 48.14182,
3423
+ "lng": 11.58051
3424
+ },
3425
+ {
3426
+ "lat": 48.14166,
3427
+ "lng": 11.58118
3428
+ },
3429
+ {
3430
+ "lat": 48.14151,
3431
+ "lng": 11.58122
3432
+ },
3433
+ {
3434
+ "lat": 48.14122,
3435
+ "lng": 11.58107
3436
+ },
3437
+ {
3438
+ "lat": 48.1408,
3439
+ "lng": 11.58089
3440
+ },
3441
+ {
3442
+ "lat": 48.14029,
3443
+ "lng": 11.58068
3444
+ },
3445
+ {
3446
+ "lat": 48.1401,
3447
+ "lng": 11.58061
3448
+ },
3449
+ {
3450
+ "lat": 48.13995,
3451
+ "lng": 11.58055
3452
+ },
3453
+ {
3454
+ "lat": 48.13937,
3455
+ "lng": 11.58033
3456
+ },
3457
+ {
3458
+ "lat": 48.1391,
3459
+ "lng": 11.58025
3460
+ },
3461
+ {
3462
+ "lat": 48.13916,
3463
+ "lng": 11.57996
3464
+ },
3465
+ {
3466
+ "lat": 48.13878,
3467
+ "lng": 11.57965
3468
+ },
3469
+ {
3470
+ "lat": 48.13871,
3471
+ "lng": 11.57983
3472
+ },
3473
+ {
3474
+ "lat": 48.13859,
3475
+ "lng": 11.58013
3476
+ }
3477
+ ],
3478
+ "alternative": false
3479
+ }
3480
+ ],
3481
+ "markers": [
3482
+ {
3483
+ "id": "100",
3484
+ "position": {
3485
+ "lat": 48.17933,
3486
+ "lng": 11.48731
3487
+ },
3488
+ "markerProps": {
3489
+ "active": false,
3490
+ "iconNames": [
3491
+ "start"
3492
+ ],
3493
+ "markerColor": "bg-map-marker-route",
3494
+ "clickable": false
3495
+ }
3496
+ },
3497
+ {
3498
+ "id": "200",
3499
+ "position": {
3500
+ "lat": 48.13859,
3501
+ "lng": 11.58013
3502
+ },
3503
+ "markerProps": {
3504
+ "active": false,
3505
+ "iconNames": [
3506
+ "finish"
3507
+ ],
3508
+ "markerColor": "bg-map-marker-route",
3509
+ "clickable": false
3510
+ }
3511
+ },
3512
+ {
3513
+ "id": "59.70357",
3514
+ "position": {
3515
+ "lat": 48.16745,
3516
+ "lng": 11.53612
3517
+ },
3518
+ "markerProps": {
3519
+ "active": true,
3520
+ "iconNames": [
3521
+ "route"
3522
+ ],
3523
+ "markerColor": "bg-map-marker-route",
3524
+ "name": "10 km / 36 min",
3525
+ "clickable": false,
3526
+ "fixed": true
3527
+ }
3528
+ }
3529
+ ]
3530
+ }
3531
+
3532
+ Select file...
3533
+
3534
+ Create demo routeCreate demo markerToggle route events
3535
+ Enter your route data into the input or select a JSON file to render a route with multiple segments and markers. Please note that this will replace all previously existing markers and route segments.
3536
+ Segments are separate parts of the route, each containing a list of points, which can be rendered as reduced route (semi-transparent) and with or without arrows (showArrows). A Marker should provide aposition and markerProps to define its shape.
3537
+
3538
+ #### React (tsx)
3539
+
3540
+ ```tsx
3541
+ import { useEffect, useState } from 'react';
3542
+
3543
+ import FilePicker from '@rio-cloud/rio-uikit/FilePicker';
3544
+
3545
+ // biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>
3546
+ import Map from '@rio-cloud/rio-uikit/Map';
3547
+ import Route, { type RouteStyle } from '@rio-cloud/rio-uikit/Route';
3548
+ import Marker from '@rio-cloud/rio-uikit/Marker';
3549
+ import MapSettings from '@rio-cloud/rio-uikit/MapSettings';
3550
+ import MapTypeSettings from '@rio-cloud/rio-uikit/MapTypeSettings';
3551
+ import SingleMapMarker, { type SingleMapMarkerProps } from '@rio-cloud/rio-uikit/SingleMapMarker';
3552
+ import Button from '@rio-cloud/rio-uikit/Button';
3553
+
3554
+ import { UIKIT_DEMO_CREDENTIALS_ARE_NOT_ALLOWED_IN_PROD_ENVIRONMENT } from '../uikit_demo_credentials';
3555
+ import { defaultRoute } from './routes';
3556
+ import type { Position } from '@rio-cloud/rio-uikit/mapTypes';
3557
+
3558
+ export type MarkerData = {
3559
+ markerType?: 'custommarker';
3560
+ enableContextMenu?: boolean;
3561
+ contextMenuMarkerName?: string;
3562
+ lat?: number;
3563
+ lng?: number;
3564
+ };
3565
+
3566
+ export type RoutePoint = Position & {
3567
+ pointIndex: number;
3568
+ };
3569
+
3570
+ export type RouteSegment = {
3571
+ points: RoutePoint[];
3572
+ data?: object;
3573
+ showArrows?: boolean;
3574
+ reduced?: boolean;
3575
+ style?: RouteStyle;
3576
+ alternative?: boolean;
3577
+ };
3578
+
3579
+ export type SandboxMarker = {
3580
+ id: string;
3581
+ data?: MarkerData;
3582
+ type?: 'addressType' | 'customerPoiType' | 'workshopPoiType';
3583
+ markerProps: SingleMapMarkerProps;
3584
+ position: Position;
3585
+ };
3586
+
3587
+ const defaultPosition: Position = { lat: 48.7497783, lng: 13.1000291 };
3588
+
3589
+ const getRandomValueToForceRerender = () => Math.random();
3590
+
3591
+ const getBoundingBox = (positions: Position[]) => {
3592
+ const lats = positions.map(position => position.lat);
3593
+ const lngs = positions.map(position => position.lng);
3594
+ const bbox = {
3595
+ top: Math.max(...lats),
3596
+ left: Math.min(...lngs),
3597
+ right: Math.max(...lngs),
3598
+ bottom: Math.min(...lats),
3599
+ };
3600
+ return bbox;
3601
+ };
3602
+
3603
+ const Markers = ({ markers }: { markers: SandboxMarker[] }) => {
3604
+ const mapMarkers = markers.map(marker => {
3605
+ const customData = { id: marker.id, data: marker.data };
3606
+ return (
3607
+ <Marker
3608
+ key={marker.id}
3609
+ customData={customData}
3610
+ position={marker.position}
3611
+ icon={<SingleMapMarker {...marker.markerProps} />}
3612
+ />
3613
+ );
3614
+ });
3615
+ return mapMarkers;
3616
+ };
3617
+
3618
+ const Segments = ({ segments }: { segments: RouteSegment[] }) => {
3619
+ const mapSegments = segments.map(segment => {
3620
+ return (
3621
+ <Route
3622
+ key={getRandomValueToForceRerender()}
3623
+ positions={segment.points}
3624
+ isRouteAlternative={segment.alternative}
3625
+ isReduced={segment.reduced}
3626
+ style={segment.style}
3627
+ hasArrows={segment.showArrows}
3628
+ />
3629
+ );
3630
+ });
3631
+ return mapSegments;
3632
+ };
3633
+
3634
+ const RouteSandboxExample = () => {
3635
+ const [text, setText] = useState(defaultRoute);
3636
+ const [markers, setMarkers] = useState<SandboxMarker[]>([]);
3637
+ const [segments, setSegments] = useState([]);
3638
+ const [hasError, setHasError] = useState(false);
3639
+ const [showRouteEvents, setShowRouteEvents] = useState(false);
3640
+
3641
+ useEffect(() => {
3642
+ try {
3643
+ const data = JSON.parse(text);
3644
+
3645
+ let routePoints = [];
3646
+
3647
+ if (showRouteEvents) {
3648
+ // add segments as route marker points to simulate historic events on the route
3649
+ routePoints = data.segments[0].points.map((item: RoutePoint, index: number) => ({
3650
+ id: `${item.lat}-${item.lng}+${index}`,
3651
+ position: { ...item },
3652
+ markerProps: {
3653
+ key: `${item.lat}-${item.lng}+${index}`,
3654
+ visibleOnHover: true,
3655
+ markerColor: 'bg-map-marker-route',
3656
+ size: 'lg',
3657
+ name: (
3658
+ <div className='display-flex align-item-start gap-5 padding-3 margin-x--3'>
3659
+ <span
3660
+ className={`text-size-16 rioglyph ${
3661
+ index % 2 ? 'rioglyph-status-driving' : 'rioglyph-stopover'
3662
+ }`}
3663
+ />
3664
+ <div className='line-height-16'>
3665
+ <div className='text-medium'>{index % 2 ? 'Angefahren' : 'Angehalten'}</div>
3666
+ <div className='text-size-12'>14.07.2023, 08:26</div>
3667
+ </div>
3668
+ </div>
3669
+ ),
3670
+ clickable: false,
3671
+ },
3672
+ }));
3673
+ }
3674
+
3675
+ setMarkers([...data.markers, ...routePoints]);
3676
+ setSegments(data.segments);
3677
+ setHasError(false);
3678
+ } catch (error) {
3679
+ setHasError(true);
3680
+ }
3681
+ }, [text, showRouteEvents]);
3682
+
3683
+ const handlePick = async (acceptedFiles: FileList | null) => {
3684
+ if (acceptedFiles) {
3685
+ const newText = await acceptedFiles[0].text();
3686
+ setText(newText);
3687
+ }
3688
+ };
3689
+
3690
+ const handleTextChange = (event: React.ChangeEvent<HTMLTextAreaElement>) => {
3691
+ const newText = event.target.value;
3692
+ setText(newText);
3693
+ };
3694
+
3695
+ const handleCreateRoute = () => setText(defaultRoute);
3696
+ const handleCreateMarker = () => setText(JSON.stringify(defaultMarker, null, 4));
3697
+
3698
+ const handleShowRouteEvents = () => setShowRouteEvents(!showRouteEvents);
3699
+
3700
+ let center: Position | undefined = defaultPosition;
3701
+ let boundingBox;
3702
+
3703
+ if (segments?.length > 0) {
3704
+ center = undefined;
3705
+ boundingBox = getBoundingBox((segments as RouteSegment[]).flatMap(segment => segment.points));
3706
+ } else if (markers?.length > 0) {
3707
+ center = markers[0].position;
3708
+ }
3709
+
3710
+ return (
3711
+ <>
3712
+ <Map
3713
+ credentials={UIKIT_DEMO_CREDENTIALS_ARE_NOT_ALLOWED_IN_PROD_ENVIRONMENT}
3714
+ center={center}
3715
+ boundingBox={boundingBox}
3716
+ zoom={10}
3717
+ height={300}
3718
+ mapSettings={
3719
+ <MapSettings
3720
+ options={[
3721
+ <MapTypeSettings
3722
+ key='mapTypeSettings'
3723
+ tooltip='Change map type'
3724
+ dropdownHeaderText='Map views'
3725
+ defaultTypeLabel='Default view'
3726
+ truckTypeLabel='Truck view'
3727
+ terrainTypeLabel='Terrain view'
3728
+ satelliteTypeLabel='Satellite view'
3729
+ nightTypeLabel='Night view'
3730
+ />,
3731
+ ]}
3732
+ />
3733
+ }
3734
+ >
3735
+ {segments && <Segments segments={segments} />}
3736
+ {markers && <Markers markers={markers} />}
3737
+ </Map>
3738
+ <div className='padding-top-10'>
3739
+ <div className={`form-group margin-0 ${hasError ? 'has-feedback has-error' : ''}`}>
3740
+ <textarea
3741
+ className='form-control width-100pct'
3742
+ rows={10}
3743
+ value={text}
3744
+ onChange={handleTextChange}
3745
+ />
3746
+ {hasError && <div className='help-block'>Invalid JSON</div>}
3747
+ </div>
3748
+ </div>
3749
+ <div className='display-flex flex-col gap-15 align-items-center padding-top-10'>
3750
+ <div>
3751
+ <FilePicker
3752
+ displayMode={FilePicker.DISPLAY_MODE_BUTTON}
3753
+ label='Select file...'
3754
+ onPick={handlePick}
3755
+ multiple={false}
3756
+ accept={{
3757
+ 'application/json': ['.json'],
3758
+ }}
3759
+ />
3760
+ </div>
3761
+ <Button onClick={handleCreateRoute}>Create demo route</Button>
3762
+ <Button onClick={handleCreateMarker}>Create demo marker</Button>
3763
+ <Button onClick={handleShowRouteEvents}>Toggle route events</Button>
3764
+ </div>
3765
+ <div className='margin-top-20'>
3766
+ <p>
3767
+ Enter your route data into the input or select a JSON file to render a route with multiple{' '}
3768
+ <code>segments</code> and <code>markers</code>. Please note that this will replace all previously
3769
+ existing markers and route segments.
3770
+ </p>{' '}
3771
+ <p>
3772
+ Segments are separate parts of the route, each containing a list of <code>points</code>, which can
3773
+ be rendered as reduced route (semi-transparent) and with or without arrows (showArrows). A Marker
3774
+ should provide a<code>position</code> and <code>markerProps</code> to define its shape.
3775
+ </p>
3776
+ </div>
3777
+ </>
3778
+ );
3779
+ };
3780
+
3781
+ export default RouteSandboxExample;
3782
+
3783
+ const defaultMarker = {
3784
+ markers: [
3785
+ {
3786
+ id: '066aa89e-ffc0-4326-bc95-ea45d5601ce4',
3787
+ markerProps: {
3788
+ active: false,
3789
+ iconNames: ['start'],
3790
+ markerColor: 'bg-map-marker-route',
3791
+ },
3792
+ position: {
3793
+ lat: 48.178,
3794
+ lng: 11.487,
3795
+ },
3796
+ },
3797
+ ],
3798
+ };
3799
+ ```
3800
+
3801
+ #### Props
3802
+
3803
+ | Name | Type | Default | Description |
3804
+ | --- | --- | --- | --- |
3805
+ | positions | Array of Objects | — | Array of points {lat, lng} the route is connecting. |
3806
+ | hasArrows | Boolean | true | Defines whether to show arrows or not. |
3807
+ | arrowStyle | ArrowStyle | — | Defines the style of the arrows on the route. |
3808
+ | isReduced | Boolean | false | Defines whether to render the route as reduced (transparent). |
3809
+ | isRouteAlternative | Boolean | false | Defines whether to render the route with alternative route style. |
3810
+ | style | RouteStyle | — | Custom style for the route. |
3811
+ | eventListenerMap | EventListenerMap | — | Map of event listeners for the route. |
3812
+ | startIcon | JSX.Element | — | Icon to be displayed at the start of the route. |
3813
+ | middleIcon | JSX.Element | — | Icon to be displayed at the middle of the route. |
3814
+ | endIcon | JSX.Element | — | Icon to be displayed at the end of the route. |
3815
+ | markers | JSX.Element[] | — | Array of markers to be displayed on the route. |
3816
+ | customData | object | — | Custom data to be passed to the route. |