@igo2/geo 18.0.0-next.10 → 18.0.0-next.11

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 (38) hide show
  1. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +151 -102
  2. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +177 -83
  3. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +93 -44
  4. package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
  5. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +1 -1
  6. package/esm2022/lib/directions/directions.component.mjs +49 -31
  7. package/esm2022/lib/directions/shared/directions.enum.mjs +51 -7
  8. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  9. package/esm2022/lib/directions/shared/directions.service.mjs +122 -96
  10. package/esm2022/lib/directions/shared/directions.utils.mjs +281 -318
  11. package/esm2022/lib/directions/shared/store.mjs +2 -2
  12. package/esm2022/lib/draw/draw/draw-popup.component.mjs +1 -1
  13. package/esm2022/lib/draw/shared/draw.utils.mjs +1 -1
  14. package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
  15. package/esm2022/lib/map/shared/controllers/view.mjs +1 -1
  16. package/esm2022/lib/map/shared/map.utils.mjs +3 -3
  17. package/esm2022/lib/print/shared/print.service.mjs +1 -1
  18. package/fesm2022/igo2-geo.mjs +910 -668
  19. package/fesm2022/igo2-geo.mjs.map +1 -1
  20. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +57 -20
  21. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +115 -13
  22. package/lib/directions/directions-results/directions-results.component.d.ts +50 -16
  23. package/lib/directions/directions-sources/directions-source.d.ts +2 -2
  24. package/lib/directions/directions-sources/osrm-directions-source.d.ts +2 -2
  25. package/lib/directions/directions.component.d.ts +5 -5
  26. package/lib/directions/shared/directions.enum.d.ts +42 -1
  27. package/lib/directions/shared/directions.interface.d.ts +50 -25
  28. package/lib/directions/shared/directions.service.d.ts +46 -8
  29. package/lib/directions/shared/directions.utils.d.ts +102 -23
  30. package/lib/directions/shared/store.d.ts +3 -3
  31. package/lib/draw/shared/draw.utils.d.ts +2 -1
  32. package/lib/map/shared/controllers/geolocation.interface.d.ts +2 -1
  33. package/lib/map/shared/map.utils.d.ts +5 -3
  34. package/locale/en.geo.json +87 -89
  35. package/locale/fr.geo.json +87 -89
  36. package/package.json +5 -5
  37. package/src/lib/directions/directions-inputs/directions-inputs.theming.scss +21 -0
  38. package/src/lib/directions/directions.theming.scss +2 -0
@@ -7,8 +7,7 @@ import 'jspdf-autotable';
7
7
  import { Observable } from 'rxjs';
8
8
  import { IgoMap } from '../../map/shared/map';
9
9
  import { PrintService } from '../../print/shared/print.service';
10
- import { DirectionsSource } from '../directions-sources/directions-source';
11
- import { Direction, DirectionOptions } from '../shared/directions.interface';
10
+ import { DirectionOptions, Directions } from '../shared/directions.interface';
12
11
  import { DirectionsSourceService } from './directions-source.service';
13
12
  import * as i0 from "@angular/core";
14
13
  export declare class DirectionsService {
@@ -19,13 +18,52 @@ export declare class DirectionsService {
19
18
  private document;
20
19
  private activityService;
21
20
  constructor(directionsSourceService: DirectionsSourceService, configService: ConfigService, languageService: LanguageService, printService: PrintService, document: Document, activityService: ActivityService);
22
- route(coordinates: Position[], directionsOptions?: DirectionOptions): Observable<Direction[]>;
23
- routeSource(source: DirectionsSource, coordinates: Position[], directionsOptions?: DirectionOptions): Observable<Direction[]>;
24
- downloadDirection(map: IgoMap, direction: Direction): Observable<SubjectStatus>;
25
- private addAttribution;
26
- private setHTMLTableContent;
27
- private directionsInstruction;
21
+ /**
22
+ * Routes the given coordinates using the specified directions source and options.
23
+ *
24
+ * @param {DirectionsSource} source - The directions source to use for routing.
25
+ * @param {Position[]} coordinates - The array of coordinates to route.
26
+ * @param {DirectionOptions} [directionsOptions={}] - The optional direction options.
27
+ * @return {Observable<Directions[]>} An observable that emits an array of directions.
28
+ */
29
+ route(coordinates: Position[], directionsOptions?: DirectionOptions): Observable<Directions[]>;
30
+ /**
31
+ * Downloads directions for a given map and directions object.
32
+ *
33
+ * @param {IgoMap} map - The map object to download directions for.
34
+ * @param {Directions} directions - The directions object containing the route information.
35
+ * @return {Observable<SubjectStatus>} An observable that emits the status of the download process.
36
+ */
37
+ downloadDirections(map: IgoMap, directions: Directions): Observable<SubjectStatus>;
38
+ /**
39
+ * Generates an HTML table element with directions steps.
40
+ *
41
+ * @param {Directions} directions - The directions object containing the steps.
42
+ * @return {Promise<HTMLTableElement>} - A promise that resolves to the generated HTML table element.
43
+ */
44
+ private setHTMLTableDirections;
45
+ /**
46
+ * Generates formatted steps for the given directions.
47
+ *
48
+ * @param {Directions} directions - The directions object containing the steps.
49
+ * @return {Promise<{ instruction: string; icon: string; distanceDuration: string }[]>}
50
+ * A promise that resolves to an array of formatted steps.
51
+ */
52
+ private directionsSteps;
53
+ /**
54
+ * Adds instructions to the given jsPDF document.
55
+ *
56
+ * @param {jsPDF} doc - The jsPDF document to add instructions to.
57
+ * @param {Directions} directions - The directions object containing the instructions.
58
+ * @param {string} title - The title of the instructions.
59
+ * @return {Promise<void>} A promise that resolves when the instructions are added to the document.
60
+ */
28
61
  private addInstructions;
62
+ /**
63
+ * Sets the header and footer of each page in the given jsPDF document.
64
+ *
65
+ * @param {jsPDF} doc - The jsPDF document to modify.
66
+ */
29
67
  private setPageHeaderFooter;
30
68
  static ɵfac: i0.ɵɵFactoryDeclaration<DirectionsService, never>;
31
69
  static ɵprov: i0.ɵɵInjectableDeclaration<DirectionsService>;
@@ -2,41 +2,120 @@ import { LanguageService } from '@igo2/core/language';
2
2
  import olFeature from 'ol/Feature';
3
3
  import type { default as OlGeometry } from 'ol/geom/Geometry';
4
4
  import * as olStyle from 'ol/style';
5
- import { DirectionRelativePositionType } from './directions.enum';
6
- import { Direction, Stop } from './directions.interface';
7
- import { RoutesFeatureStore, StepFeatureStore, StopsFeatureStore, StopsStore } from './store';
5
+ import { DirectionRelativePositionType, ManeuverModifier } from './directions.enum';
6
+ import { Directions, IgoStep, Stop } from './directions.interface';
7
+ import { RoutesFeatureStore, StepsFeatureStore, StopsFeatureStore, StopsStore } from './store';
8
8
  /**
9
- * Function that updat the sort of the list base on the provided field.
10
- * @param source stop store
11
- * @param direction asc / desc sort order
12
- * @param field the field to use to sort the view
9
+ * Updates the sorting of the stops in the provided StopsStore based on the specified field and direction.
10
+ *
11
+ * @param {StopsStore} stopsStore - The StopsStore to update the sorting for.
12
+ * @param {'asc' | 'desc'} [direction='asc'] - The direction of sorting ('asc' for ascending, 'desc' for descending).
13
+ * @param {string} [field='position'] - The field to sort the stops by.
13
14
  */
14
15
  export declare function updateStoreSorting(stopsStore: StopsStore, direction?: 'asc' | 'desc', field?: string): void;
15
- export declare function computeRelativePosition(index: number, totalLength: any): DirectionRelativePositionType;
16
- export declare function computeStopsPosition(stopsStore: StopsStore): void;
17
16
  /**
18
- * Function that add a stop to the stop store. Stop are always added before the last stop.
19
- * @param stopsStore stop store as an EntityStore
17
+ * Computes the relative position of a stop in a list of stops.
18
+ *
19
+ * @param {number} stopIndex - The index of the stop.
20
+ * @param {number} stopListLength - The total number of stops.
21
+ * @return {DirectionRelativePositionType} The relative position of the stop.
22
+ */
23
+ export declare function computeRelativePosition(stopIndex: number, stopListLength: number): DirectionRelativePositionType;
24
+ /**
25
+ * Computes the position and relative position of stops in the given stopsStore.
26
+ *
27
+ * @param {StopsStore} stopsStore - The store containing the stops.
28
+ */
29
+ export declare function computeStopsPosition(deletedStopIndex: number, stopsStore: StopsStore): void;
30
+ /**
31
+ * Adds a stop to the given stopsStore. The stop is always added as the last stop.
32
+ *
33
+ * @param {StopsStore} stopsStore - The store containing the stops.
34
+ * @return {Stop} The newly added stop.
20
35
  */
21
36
  export declare function addStopToStore(stopsStore: StopsStore): Stop;
37
+ /**
38
+ * Removes a stop from the given stopsStore and updates the positions of the remaining stops.
39
+ *
40
+ * @param {StopsStore} stopsStore - The store containing the stops.
41
+ * @param {Stop} stop - The stop to be removed.
42
+ */
22
43
  export declare function removeStopFromStore(stopsStore: StopsStore, stop: Stop): void;
23
44
  /**
24
- * Create a style for the directions stops and routes
45
+ * Create a style for the directions steps, stops and route
25
46
  * @param feature OlFeature
26
47
  * @returns OL style function
27
48
  */
28
49
  export declare function directionsStyle(feature: olFeature<OlGeometry>): olStyle.Style | olStyle.Style[];
50
+ /**
51
+ * Initializes the stops feature store with the provided language service.
52
+ *
53
+ * @param {StopsFeatureStore} stopsFeatureStore - The stops feature store to initialize.
54
+ * @param {LanguageService} languageService - The language service used for translations.
55
+ */
29
56
  export declare function initStopsFeatureStore(stopsFeatureStore: StopsFeatureStore, languageService: LanguageService): void;
57
+ /**
58
+ * Initializes the routes feature store with the provided language service.
59
+ *
60
+ * @param {StopsFeatureStore} routesFeatureStore - The routes feature store to initialize.
61
+ * @param {LanguageService} languageService - The language service used for translations.
62
+ */
30
63
  export declare function initRoutesFeatureStore(routesFeatureStore: RoutesFeatureStore, languageService: LanguageService): void;
31
- export declare function initStepFeatureStore(stepFeatureStore: StepFeatureStore): void;
32
- export declare function addStopToStopsFeatureStore(stop: Stop, stopsStore: StopsStore, stopsFeatureStore: StopsFeatureStore, projection: string, languageService: LanguageService): void;
33
- export declare function addDirectionToRoutesFeatureStore(routesFeatureStore: RoutesFeatureStore, direction: Direction, projection: string, active?: boolean): void;
34
- export declare function formatDistance(distance: number): string;
35
- export declare function formatDuration(duration: number): string;
36
- export declare function formatInstruction(type: any, modifier: any, route: string, direction: any, stepPosition: any, exit: any, languageService: LanguageService, lastStep?: boolean): {
37
- instruction: any;
38
- image: string;
39
- cssClass: string;
64
+ /**
65
+ * Initializes the routes feature store.
66
+ *
67
+ * @param {StopsFeatureStore} stepsFeatureStore - The steps feature store to initialize.
68
+ */
69
+ export declare function initStepsFeatureStore(stepsFeatureStore: StepsFeatureStore): void;
70
+ /**
71
+ * Adds a stop to the stopsFeatureStore.
72
+ *
73
+ * @param {Stop} stop - The stop to be added.
74
+ * @param {StopsFeatureStore} stopsFeatureStore - The stopsFeatureStore to add the stop to.
75
+ * @param {string} projection - The projection of the stop coordinates.
76
+ * @param {LanguageService} languageService - The language service for translating stop text.
77
+ */
78
+ export declare function addStopToStopsFeatureStore(stop: Stop, stopsFeatureStore: StopsFeatureStore, projection: string, languageService: LanguageService): void;
79
+ /**
80
+ * Adds a route to the routes feature store.
81
+ *
82
+ * @param {RoutesFeatureStore} routesFeatureStore - The routes feature store to add the route to.
83
+ * @param {Directions} directions - The directions object containing the geometry and other information.
84
+ * @param {string} projection - The projection of the geometry coordinates.
85
+ * @param {boolean} [active=false] - Indicates whether the direction is active or not. Default is false.
86
+ */
87
+ export declare function addRouteToRoutesFeatureStore(routesFeatureStore: RoutesFeatureStore, directions: Directions, projection: string, active?: boolean): void;
88
+ /**
89
+ * Formats the given distance in meters to a human-readable string.
90
+ *
91
+ * @param {number} meters - The distance in meters to be formatted.
92
+ * @return {string | undefined} The formatted distance string.
93
+ */
94
+ export declare function formatDistance(meters: number): string;
95
+ /**
96
+ * Formats the given duration in seconds to a human-readable string.
97
+ *
98
+ * @param {number} seconds - The duration in seconds to be formatted.
99
+ * @return {string} The formatted duration string.
100
+ */
101
+ export declare function formatDuration(seconds: number): string;
102
+ export declare function formatStep(step: IgoStep, languageService: LanguageService, lastStep?: boolean): {
103
+ instruction: string;
104
+ iconName: string;
40
105
  };
41
- export declare function translateModifier(modifier: any, languageService: LanguageService): any;
42
- export declare function translateBearing(bearing: number, languageService: LanguageService): any;
106
+ /**
107
+ * Translates a maneuver modifier into a human-readable string using the provided language service.
108
+ *
109
+ * @param {ManeuverModifier} maneuverModifier - The maneuver modifier to be translated.
110
+ * @param {LanguageService} languageService - The language service used for translation.
111
+ * @return {string | undefined} The translated maneuver modifier string, or undefined if the modifier is falsy.
112
+ */
113
+ export declare function translateManeuverModifier(maneuverModifier: ManeuverModifier, languageService: LanguageService): string;
114
+ /**
115
+ * Translates the given bearing value into a human-readable direction using the provided language service.
116
+ *
117
+ * @param {number} bearing - The bearing value to be translated.
118
+ * @param {LanguageService} languageService - The language service used for translation.
119
+ * @return {string} The translated direction corresponding to the given bearing value.
120
+ */
121
+ export declare function translateManeuverBearing(bearing: number, languageService: LanguageService): string;
@@ -1,7 +1,7 @@
1
1
  import { EntityStore } from '@igo2/common/entity';
2
2
  import { BehaviorSubject } from 'rxjs';
3
3
  import { FeatureStore } from '../../feature/shared/store';
4
- import { FeatureWithDirection, FeatureWithStep, FeatureWithStop, Stop } from './directions.interface';
4
+ import { FeatureWithDirections, FeatureWithStep, FeatureWithStop, Stop } from './directions.interface';
5
5
  /**
6
6
  * The class is a specialized version of an EntityStore that stores
7
7
  * stops.
@@ -12,7 +12,7 @@ export declare class StopsStore extends EntityStore<Stop> {
12
12
  }
13
13
  export declare class StopsFeatureStore extends FeatureStore<FeatureWithStop> {
14
14
  }
15
- export declare class RoutesFeatureStore extends FeatureStore<FeatureWithDirection> {
15
+ export declare class RoutesFeatureStore extends FeatureStore<FeatureWithDirections> {
16
16
  }
17
- export declare class StepFeatureStore extends FeatureStore<FeatureWithStep> {
17
+ export declare class StepsFeatureStore extends FeatureStore<FeatureWithStep> {
18
18
  }
@@ -1,4 +1,5 @@
1
1
  import OlOverlay from 'ol/Overlay';
2
+ import { Coordinate } from 'ol/coordinate';
2
3
  import OlCircle from 'ol/geom/Circle';
3
4
  import OlLineString from 'ol/geom/LineString';
4
5
  import OlPoint from 'ol/geom/Point';
@@ -32,4 +33,4 @@ export declare function updateOlTooltipDrawAtCenter(olGeometry: OlLineString | O
32
33
  * @returns OL overlay
33
34
  */
34
35
  export declare function createOlTooltipDrawAtPoint(olPoint: OlPoint): OlOverlay;
35
- export declare function DDtoDMS(value: [number, number], unit: CoordinatesUnit): string[] | undefined;
36
+ export declare function DDtoDMS(value: Coordinate, unit: CoordinatesUnit): string[] | undefined;
@@ -1,3 +1,4 @@
1
+ import { Coordinate } from 'ol/coordinate';
1
2
  import { ProjectionLike } from 'ol/proj';
2
3
  export interface GeolocationOptions {
3
4
  activateDefault?: boolean;
@@ -14,7 +15,7 @@ export interface MapGeolocationControllerOptions {
14
15
  buffer?: GeolocationBuffer;
15
16
  }
16
17
  export interface MapGeolocationState {
17
- position: number[];
18
+ position: Coordinate;
18
19
  projection: string;
19
20
  accuracy: number;
20
21
  altitude: number;
@@ -1,4 +1,6 @@
1
1
  import MapBrowserPointerEvent from 'ol/MapBrowserEvent';
2
+ import { Coordinate } from 'ol/coordinate';
3
+ import { Position } from 'geojson';
2
4
  import { MapViewState } from './map.interface';
3
5
  import { Projection } from './projection.interfaces';
4
6
  /**
@@ -26,7 +28,7 @@ export declare function stringToLonLat(str: string, mapProjection: string, opts?
26
28
  * @param decimal number of decimals for seconds
27
29
  * @returns longitude and latitude in dms
28
30
  */
29
- export declare function convertDDToDMS(lonLatDD: [number, number], decimal?: number): string[];
31
+ export declare function convertDDToDMS(lonLatDD: Coordinate, decimal?: number): string[];
30
32
  /**
31
33
  * Return true of two view states are equal.
32
34
  * @param state1 View state
@@ -59,8 +61,8 @@ export declare function getScaleFromResolution(resolution: number, unit?: string
59
61
  * @returns Whether the CTRL key is pushed
60
62
  */
61
63
  export declare function ctrlKeyDown(event: MapBrowserPointerEvent<any>): boolean;
62
- export declare function roundCoordTo(coord: [number, number], decimal?: number): [number, number];
63
- export declare function roundCoordToString(coord: [number, number], decimal?: number): [string, string];
64
+ export declare function roundCoordTo(coord: [number, number] | Position | Coordinate, decimal?: number): Coordinate;
65
+ export declare function roundCoordToString(coord: [number, number] | Position | Coordinate, decimal?: number): [string, string];
64
66
  /**
65
67
  * Returns an array of converted coordinates.
66
68
  * Conversion is done for every configured projections
@@ -373,102 +373,100 @@
373
373
  },
374
374
  "showNorthArrow": "Show north arrow"
375
375
  },
376
- "directionsForm": {
377
- "stopLayer": "Directions - stops",
378
- "routeLayer": "Directions - route",
379
- "start": "Start",
380
- "intermediate": "Intermediate",
381
- "end": "End",
382
- "directionsBtn": "Get route",
383
- "resetDirectionsBtn": "Reset",
384
- "zoomRoute": "Zoom on route",
385
- "null": "",
376
+ "directions": {
377
+ "buttons": {
378
+ "copyDirections": "Copy directions to clipboard",
379
+ "copyLink": "Copy link to clipboard",
380
+ "downloadDirections": "Download directions",
381
+ "message": {
382
+ "copyDirections": "Directions copied to clipboard",
383
+ "copyLink": "Link copied to clipboard"
384
+ },
385
+ "resetStops": "Reset stops",
386
+ "zoomOnRoute": "Zoom on route"
387
+ },
386
388
  "directions": "Directions",
387
- "raiseStop": "Raise stop's priority",
388
- "lowerStop": "Lower stop's priority",
389
- "addStop": "Add a stop",
390
- "clearStop": "Clear this stop",
391
- "moveStop": "Move this stop",
392
- "removeStop": "Remove this stop",
393
- "drivingOptions": "Options",
394
- "summary": "Direction's summary",
395
- "stopsList": "Stops's list",
396
- "instructions": "Instructions",
397
- "copy": "Copy directions",
398
- "geolocate": "Use current localisation as stop",
399
- "link": "Link",
400
- "print": "Print",
401
- "dialog": {
402
- "copyMsg": "Directions copied to clipboard",
403
- "copyMsgLink": "Link for directions copied to clipboard",
404
- "copyTitle": "Directions"
389
+ "directionsText": {
390
+ "link": "Link",
391
+ "stopList": "Stops",
392
+ "summary": "Summary"
405
393
  },
406
- "toggleActive": "Activate direction control",
407
- "toggleType": "Include forest roads",
408
394
  "forestRoadsWarning": {
409
395
  "title": "Warning",
410
396
  "text": "Some forest roads may be impassable or not suitable for vehicles."
397
+ },
398
+ "input": {
399
+ "addStop": "Add a destination",
400
+ "clearStop": "Clear stop",
401
+ "currentPosition": "Use current position",
402
+ "end": "Destination",
403
+ "intermediate": "Intermediate stop",
404
+ "moveStop": "Move stop",
405
+ "placeholder": "Click on the map or type to search",
406
+ "removeStop": "Remove stop",
407
+ "start": "Starting point"
408
+ },
409
+ "layer": {
410
+ "stops": "Directions - Stops",
411
+ "route": "Directions - Route"
412
+ },
413
+ "results": {
414
+ "direction": {
415
+ "n": "north",
416
+ "ne": "northeast",
417
+ "e": "east",
418
+ "se": "southeast",
419
+ "s": "south",
420
+ "sw": "southwest",
421
+ "w": "west",
422
+ "nw": "northwest"
423
+ },
424
+ "maneuverModifier": {
425
+ "uturn": "u-turn",
426
+ "sharp right": "sharp right",
427
+ "right": "right",
428
+ "slight right": "slight right",
429
+ "sharp left": "sharp left",
430
+ "left": "left",
431
+ "slight left": "slight left",
432
+ "straight": "straight"
433
+ },
434
+ "maneuverType": {
435
+ "arrive": {
436
+ "lastStep": "You have reached your destination, {{name}}",
437
+ "intermediate": "You have reached an intermediate stop, {{name}}"
438
+ },
439
+ "continue": "Continue on {{name}}",
440
+ "depart": "Head {{maneuverBearing}} on {{name}}",
441
+ "end of road": "At the end of the road, turn {{maneuverModifier}} onto {{name}}",
442
+ "exit roundabout": "Continue to {{name}}",
443
+ "fork": {
444
+ "left": "Keep left onto {{name}}",
445
+ "right": "Keep right onto {{name}}",
446
+ "else": "Continue on {{name}}"
447
+ },
448
+ "merge": "Continue on {{name}}",
449
+ "new name": "Head {{maneuverBearing}} on {{name}}",
450
+ "notification": "",
451
+ "off ramp": "Take the exit on the {{maneuverModifier}}",
452
+ "on ramp": "Take the ramp on the {{maneuverModifier}}",
453
+ "rotary": "",
454
+ "roundabout": "At the roundabout, take the exit towards {{name}}",
455
+ "roundabout turn": "",
456
+ "turn": {
457
+ "straight": "Continue {{maneuverModifier}} on {{name}}",
458
+ "uturn": "Make a {{maneuverModifier}}}} onto {{name}}",
459
+ "else": "Make a {{maneuverModifier}} turn onto {{name}}"
460
+ }
461
+ },
462
+ "routeOptions": "Route options",
463
+ "stepTitleTooltip": "Zoom on location"
464
+ },
465
+ "toggle": {
466
+ "activateControl": "Activate controls",
467
+ "type": "Include forest roads"
411
468
  }
412
469
  },
413
- "directions": {
414
- "uturn": "u-turn",
415
- "sharp right": "sharp right",
416
- "right": "right",
417
- "slight right": "slightly on right",
418
- "sharp left": "sharp left",
419
- "left": "left",
420
- "slight left": "slightly on left",
421
- "straight": "forward",
422
- "turn": {
423
- "straight": "Continue on {{route}}",
424
- "uturn": "Make u-turn on {{route}}",
425
- "else": "Turn {{translatedModifier}} onto {{route}}"
426
- },
427
- "new name": "Head {{translatedDirection}} on {{route}}",
428
- "depart": "Head {{translatedDirection}} on {{route}}",
429
- "arrive": {
430
- "lastStep": "You have reached your destination {{coma}} {{aggregatedDirection}}",
431
- "intermediate": "You have reached the intermediate stop onto {{route}}"
432
- },
433
- "merge": "Continue on {{route}}",
434
- "on ramp": "Take the ramp {{aggregatedDirection}}",
435
- "off ramp": "Take exit {{aggregatedDirection}}",
436
- "fork": {
437
- "left": "Merge left onto {{route}}",
438
- "right": "Merge right onto {{route}}",
439
- "else": "Continue on {{route}}"
440
- },
441
- "end of road": "At the end of the road, turn {{translatedModifier}} onto {{route}}",
442
- "use lane": "Take the lane ...",
443
- "continue": {
444
- "notUturn": "Continue on {{route}}"
445
- },
446
- "roundabout": "At the roundabout, take the {{exit}}{{cntSuffix}} exit towards {{route}}",
447
- "rotary": "Roundabout rotary ...",
448
- "roundabout turn": "Roundabout, take the ...",
449
- "exit roundabout": "Continue to {{route}}",
450
- "notification": "notification ...",
451
- "uturnText": "Make u-turn and head {{translatedDirection}} on {{route}}",
452
- "unknown": "???",
453
-
454
- "cntSuffix": {
455
- "first": "st",
456
- "secondAndMore": "rd"
457
- },
458
- "modifier": {
459
- "prefix": "on the "
460
- }
461
- },
462
- "cardinalPoints": {
463
- "n": "north",
464
- "ne": "northeast",
465
- "e": "east",
466
- "se": "southeast",
467
- "s": "south",
468
- "sw": "southwest",
469
- "w": "west",
470
- "nw": "northwest"
471
- },
472
470
  "search": {
473
471
  "placeholder": "Search for a localisation or a layer",
474
472
  "emptyType.placeholder": "Please choose a search type",