From db583020c8fd6c97d6fe58ab1b3a79cb961de123 Mon Sep 17 00:00:00 2001 From: vadzim_v Date: Fri, 27 Oct 2023 12:47:45 +0200 Subject: [PATCH] NAVAND-547 route refresh for new annotations (#7582) --- changelog/unreleased/features/dd.md | 1 + gradle/dependencies.gradle | 2 +- .../core/RouteAlternativesTest.kt | 221 + .../instrumentation_tests/utils/FileUtils.kt | 4 + .../MockDynamicDirectionsRefreshHandler.kt | 48 + .../route_response_alternative_continue.json | 214 + .../raw/three_alternatives_paris_request.txt | 1 + .../three_alternatives_paris_response.json | 20444 ++++++++++++++++ .../internal/route/AnnotationsRefresher.kt | 12 + .../route/AnnotationsRefresherTest.kt | 14 + .../DirectionsRouteDiffProvider.kt | 6 + .../DirectionsRouteDiffProviderTest.kt | 46 +- .../factories/DirectionsResponseFactories.kt | 6 +- 13 files changed, 20996 insertions(+), 23 deletions(-) create mode 100644 changelog/unreleased/features/dd.md create mode 100644 instrumentation-tests/src/androidTest/java/com/mapbox/navigation/instrumentation_tests/utils/http/MockDynamicDirectionsRefreshHandler.kt create mode 100644 instrumentation-tests/src/main/res/raw/three_alternatives_paris_request.txt create mode 100644 instrumentation-tests/src/main/res/raw/three_alternatives_paris_response.json diff --git a/changelog/unreleased/features/dd.md b/changelog/unreleased/features/dd.md new file mode 100644 index 00000000000..4d4ee6f8ea3 --- /dev/null +++ b/changelog/unreleased/features/dd.md @@ -0,0 +1 @@ +- Route refresh now refreshes `LegAnnotation#freeflowSpeed` and `LegAnnotation#currentSpeed`. diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index 3c06b3bcaa5..621427fa0c7 100644 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -19,7 +19,7 @@ ext { version = [ mapboxMapSdk : '10.16.1', - mapboxSdkServices : '6.13.0', + mapboxSdkServices : '6.14.0', mapboxNavigator : "${mapboxNavigatorVersion}", mapboxCommonNative : '23.8.3', mapboxCrashMonitor : '2.0.0', diff --git a/instrumentation-tests/src/androidTest/java/com/mapbox/navigation/instrumentation_tests/core/RouteAlternativesTest.kt b/instrumentation-tests/src/androidTest/java/com/mapbox/navigation/instrumentation_tests/core/RouteAlternativesTest.kt index 848dcf11e51..2794eb6da0d 100644 --- a/instrumentation-tests/src/androidTest/java/com/mapbox/navigation/instrumentation_tests/core/RouteAlternativesTest.kt +++ b/instrumentation-tests/src/androidTest/java/com/mapbox/navigation/instrumentation_tests/core/RouteAlternativesTest.kt @@ -1,8 +1,13 @@ package com.mapbox.navigation.instrumentation_tests.core import android.location.Location +import com.mapbox.api.directions.v5.models.DirectionsResponse +import com.mapbox.api.directions.v5.models.DirectionsRoute import com.mapbox.api.directions.v5.models.RouteOptions +import com.mapbox.api.directionsrefresh.v1.models.DirectionsRouteRefresh +import com.mapbox.api.directionsrefresh.v1.models.RouteLegRefresh import com.mapbox.geojson.Point +import com.mapbox.navigation.base.ExperimentalPreviewMapboxNavigationAPI import com.mapbox.navigation.base.extensions.applyDefaultNavigationOptions import com.mapbox.navigation.base.route.NavigationRoute import com.mapbox.navigation.base.route.RouterOrigin @@ -15,8 +20,10 @@ import com.mapbox.navigation.core.routealternatives.RouteAlternativesError import com.mapbox.navigation.instrumentation_tests.R import com.mapbox.navigation.instrumentation_tests.utils.history.MapboxHistoryTestRule import com.mapbox.navigation.instrumentation_tests.utils.http.MockDirectionsRequestHandler +import com.mapbox.navigation.instrumentation_tests.utils.http.MockDynamicDirectionsRefreshHandler import com.mapbox.navigation.instrumentation_tests.utils.location.MockLocationReplayerRule import com.mapbox.navigation.instrumentation_tests.utils.location.stayOnPosition +import com.mapbox.navigation.instrumentation_tests.utils.openRawResource import com.mapbox.navigation.instrumentation_tests.utils.readRawFileText import com.mapbox.navigation.instrumentation_tests.utils.withMapboxNavigation import com.mapbox.navigation.testing.ui.BaseCoreNoCleanUpTest @@ -42,6 +49,8 @@ import org.junit.Assert.assertNotNull import org.junit.Assert.assertTrue import org.junit.Rule import org.junit.Test +import java.io.InputStreamReader +import java.net.URL /** * This test ensures that alternative route recommendations @@ -144,6 +153,138 @@ class RouteAlternativesTest : BaseCoreNoCleanUpTest() { mapboxNavigation.getAlternativeMetadataFor(it) ) } + + val mockedAlternativesResponse = InputStreamReader( + openRawResource(context, R.raw.route_response_alternative_continue) + ).use { + DirectionsResponse.fromJson(it) + } + newAlternatives.forEach { + assertEquals( + "some info was lost during NN -> Nav SDK transition", + it.directionsRoute.toBuilder().routeOptions(null).build(), + mockedAlternativesResponse.routes()[it.routeIndex] + ) + } + } + } + + @OptIn(ExperimentalPreviewMapboxNavigationAPI::class) + @Test + fun refresh_alternatives_before_passing_a_fork_point() = sdkTest { + val refreshedCongestionNumericValue = 20 + val freeFlowSpeedRefreshedValue = 60 + val currentSpeedRefreshedValue = 32 + val speedRefreshedValue = 77.2 + val refreshedDistanceValue = 1.0 + val refreshedDurationValue = 2.0 + val testRouteOptions = setup3AlternativesInParisWithRefresh( + transformFreeFlowSpeed = { + MutableList(it.size) { freeFlowSpeedRefreshedValue } + }, + transformCongestionsNumeric = { + MutableList(it.size) { refreshedCongestionNumericValue } + }, + transformCurrentSpeed = { + MutableList(it.size) { currentSpeedRefreshedValue } + }, + transformSpeed = { + MutableList(it.size) { speedRefreshedValue } + }, + transformDistance = { + MutableList(it.size) { refreshedDistanceValue } + }, + transformDuration = { + MutableList(it.size) { refreshedDurationValue } + } + ) + withMapboxNavigation( + historyRecorderRule = mapboxHistoryTestRule + ) { mapboxNavigation -> + mapboxNavigation.registerRouteAlternativesObserver( + AdvancedAlternativesObserverFromDocumentation(mapboxNavigation) + ) + val testRoutes = mapboxNavigation.requestRoutes(testRouteOptions) + .getSuccessfulResultOrThrowException() + .routes + mapboxNavigation.setNavigationRoutesAsync(testRoutes) + mockLocationReplayerRule.playRoute(testRoutes.first().directionsRoute) + mapboxNavigation.startTripSession() + mapboxNavigation.flowLocationMatcherResult().first() + mapboxNavigation.routeRefreshController.requestImmediateRouteRefresh() + + val remainingAlternatives = mapboxNavigation.routesUpdates() + .filter { it.navigationRoutes != testRoutes } // skip initial routes + .filter { it.reason == RoutesExtra.ROUTES_UPDATE_REASON_ALTERNATIVE } + .filter { it.navigationRoutes.size > 1 } + .first() + .navigationRoutes + .drop(1) + + remainingAlternatives.forEach { + assertNotNull( + "alternative route $it doesn't have metadata", + mapboxNavigation.getAlternativeMetadataFor(it) + ) + } + + remainingAlternatives.forEach { + assertEquals( + "Test expects alternatives to be from the original repose", + testRoutes.first().directionsResponse.uuid(), + it.directionsResponse.uuid() + ) + // checking only the end because refresh happens during movement + assertEquals( + MutableList(50) { refreshedCongestionNumericValue }, + it.directionsRoute.legs() + ?.first() + ?.annotation() + ?.congestionNumeric() + ?.takeLast(50) + ) + assertEquals( + MutableList(50) { speedRefreshedValue }, + it.directionsRoute.legs() + ?.first() + ?.annotation() + ?.speed() + ?.takeLast(50) + ) + assertEquals( + MutableList(50) { refreshedDistanceValue }, + it.directionsRoute.legs() + ?.first() + ?.annotation() + ?.distance() + ?.takeLast(50) + ) + assertEquals( + MutableList(50) { refreshedDurationValue }, + it.directionsRoute.legs() + ?.first() + ?.annotation() + ?.duration() + ?.takeLast(50) + ) + + assertEquals( + MutableList(50) { freeFlowSpeedRefreshedValue }, + it.directionsRoute.legs() + ?.first() + ?.annotation() + ?.freeflowSpeed() + ?.takeLast(50) + ) + assertEquals( + MutableList(50) { currentSpeedRefreshedValue }, + it.directionsRoute.legs() + ?.first() + ?.annotation() + ?.currentSpeed() + ?.takeLast(50) + ) + } } } @@ -344,6 +485,78 @@ class RouteAlternativesTest : BaseCoreNoCleanUpTest() { .getSuccessfulResultOrThrowException() .routes } + + private fun setup3AlternativesInParisWithRefresh( + transformFreeFlowSpeed: (List) -> List = { it }, + transformCurrentSpeed: (List) -> List = { it }, + transformCongestionsNumeric: (List) -> List = { it }, + transformDistance: (List) -> List = { it }, + transformDuration: (List) -> List = { it }, + transformSpeed: (List) -> List = { it }, + ): RouteOptions { + val routeOptions = RouteOptions.fromUrl( + URL(readRawFileText(context, R.raw.three_alternatives_paris_request)) + ).toBuilder().baseUrl(mockWebServerRule.baseUrl).build() + val fullResponse = readRawFileText(context, R.raw.three_alternatives_paris_response) + val parsedResponse = DirectionsResponse.fromJson(fullResponse) + mockWebServerRule.requestHandlers.add( + MockDirectionsRequestHandler( + routeOptions.profile(), + fullResponse, + routeOptions.coordinatesList() + ) + ) + mockWebServerRule.requestHandlers.add( + MockDynamicDirectionsRefreshHandler { params -> + val leg = parsedResponse.routes()[params.routeIndex] + .legs()!![params.legIndex] + val refreshAnnotations = leg.annotation()?.let { legAnnotation -> + legAnnotation.toBuilder() + .currentSpeed( + legAnnotation.currentSpeed() + ?.drop(params.geometryIndex) + ?.let(transformCurrentSpeed) + ) + .freeflowSpeed( + legAnnotation.freeflowSpeed() + ?.drop(params.geometryIndex) + ?.let(transformFreeFlowSpeed) + ) + .duration( + legAnnotation.duration() + ?.drop(params.geometryIndex) + ?.let(transformDuration) + ) + .congestionNumeric( + legAnnotation.congestionNumeric() + ?.drop(params.geometryIndex) + ?.let(transformCongestionsNumeric) + ) + .distance( + legAnnotation.distance() + ?.drop(params.geometryIndex) + ?.let(transformDistance) + ) + .speed( + legAnnotation.speed() + ?.drop(params.geometryIndex) + ?.let(transformSpeed) + ) + .build() + } + DirectionsRouteRefresh.builder().legs( + listOf( + RouteLegRefresh.builder() + .annotation(refreshAnnotations) + .incidents(leg.incidents()) + .closures(leg.closures()) + .build() + ) + ).build() + } + ) + return routeOptions + } } private fun CoroutineScope.firstAlternativesUpdateDeferred(mapboxNavigation: MapboxNavigation) = @@ -362,3 +575,11 @@ private fun CoroutineScope.firstNonEmptyAlternativesUpdateDeferred( .filterNot { it.alternatives.isEmpty() } .first() } + +private fun DirectionsRoute.removeKnownDifferentFields(): DirectionsRoute { + return this.toBuilder().routeOptions(null).legs( + this.legs()?.map { + it.toBuilder().incidents(emptyList()).build() + } + ).build() +} diff --git a/instrumentation-tests/src/androidTest/java/com/mapbox/navigation/instrumentation_tests/utils/FileUtils.kt b/instrumentation-tests/src/androidTest/java/com/mapbox/navigation/instrumentation_tests/utils/FileUtils.kt index b1df365c2b4..a5592bef3a3 100644 --- a/instrumentation-tests/src/androidTest/java/com/mapbox/navigation/instrumentation_tests/utils/FileUtils.kt +++ b/instrumentation-tests/src/androidTest/java/com/mapbox/navigation/instrumentation_tests/utils/FileUtils.kt @@ -3,9 +3,13 @@ package com.mapbox.navigation.instrumentation_tests.utils import android.content.Context import androidx.annotation.IntegerRes import okio.Buffer +import java.io.InputStream fun readRawFileText(context: Context, @IntegerRes res: Int): String = context.resources.openRawResource(res).bufferedReader().use { it.readText() } +fun openRawResource(context: Context, @IntegerRes res: Int): InputStream = + context.resources.openRawResource(res) + fun bufferFromRawFile(context: Context, @IntegerRes res: Int): Buffer = Buffer().readFrom(context.resources.openRawResource(res)) diff --git a/instrumentation-tests/src/androidTest/java/com/mapbox/navigation/instrumentation_tests/utils/http/MockDynamicDirectionsRefreshHandler.kt b/instrumentation-tests/src/androidTest/java/com/mapbox/navigation/instrumentation_tests/utils/http/MockDynamicDirectionsRefreshHandler.kt new file mode 100644 index 00000000000..f208b236331 --- /dev/null +++ b/instrumentation-tests/src/androidTest/java/com/mapbox/navigation/instrumentation_tests/utils/http/MockDynamicDirectionsRefreshHandler.kt @@ -0,0 +1,48 @@ +package com.mapbox.navigation.instrumentation_tests.utils.http + +import com.mapbox.api.directionsrefresh.v1.models.DirectionsRefreshResponse +import com.mapbox.api.directionsrefresh.v1.models.DirectionsRouteRefresh +import com.mapbox.navigation.testing.ui.http.BaseMockRequestHandler +import okhttp3.mockwebserver.MockResponse +import okhttp3.mockwebserver.RecordedRequest + +data class RequestRequestParams( + val routeUUID: String, + val routeIndex: Int, + val legIndex: Int, + val geometryIndex: Int +) + +class MockDynamicDirectionsRefreshHandler( + val directionsResponseGenerator: (RequestRequestParams) -> DirectionsRouteRefresh +) : BaseMockRequestHandler() { + + override fun handleInternal(request: RecordedRequest): MockResponse? { + val expectedPrefix = "/directions-refresh/v1/mapbox/driving-traffic/" + if (request.path!!.startsWith(expectedPrefix)) { + val segments = request.requestUrl!!.encodedPathSegments + if (segments.size < 7) return null + val routeUUID = segments[4] + val routeIndex = segments[5].toIntOrNull() ?: return null + val legIndex = segments[6].toIntOrNull() ?: return null + val currentGeometryIndex = request.requestUrl!! + .queryParameter("current_route_geometry_index")?.toIntOrNull() + ?: return null + val routeRefresh = directionsResponseGenerator( + RequestRequestParams( + legIndex = legIndex, + geometryIndex = currentGeometryIndex, + routeUUID = routeUUID, + routeIndex = routeIndex + ) + ) + val response = DirectionsRefreshResponse.builder() + .code("Ok") + .route(routeRefresh) + .build() + .toJson() + return MockResponse().setBody(response) + } + return null + } +} diff --git a/instrumentation-tests/src/main/res/raw/route_response_alternative_continue.json b/instrumentation-tests/src/main/res/raw/route_response_alternative_continue.json index 2e21c8be113..2ab68b4087b 100644 --- a/instrumentation-tests/src/main/res/raw/route_response_alternative_continue.json +++ b/instrumentation-tests/src/main/res/raw/route_response_alternative_continue.json @@ -116,6 +116,220 @@ null, null ], + "freeflow_speed": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 6, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 8, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 10, + null, + null, + null, + null, + null, + null + ], + "current_speed": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 3, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 45, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 8, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 99, + null + ], "congestion": [ "unknown", "unknown", diff --git a/instrumentation-tests/src/main/res/raw/three_alternatives_paris_request.txt b/instrumentation-tests/src/main/res/raw/three_alternatives_paris_request.txt new file mode 100644 index 00000000000..01d3b807230 --- /dev/null +++ b/instrumentation-tests/src/main/res/raw/three_alternatives_paris_request.txt @@ -0,0 +1 @@ +https://api.mapbox.com/directions/v5/mapbox/driving-traffic/2.3315251787684304,48.87045133696091;2.354148678481039,48.88720295289096?steps=true&overview=full&geometries=polyline6&roundabout_exits=true&voice_units=imperial&voice_instructions=true&banner_instructions=true&alternatives=true&annotations=distance%2Cduration%2Cspeed%2Ccongestion_numeric%2Cclosure&enable_refresh=true \ No newline at end of file diff --git a/instrumentation-tests/src/main/res/raw/three_alternatives_paris_response.json b/instrumentation-tests/src/main/res/raw/three_alternatives_paris_response.json new file mode 100644 index 00000000000..8c8b465a4b0 --- /dev/null +++ b/instrumentation-tests/src/main/res/raw/three_alternatives_paris_response.json @@ -0,0 +1,20444 @@ +{ + "routes": [ + { + "weight_typical": 1325.599, + "duration_typical": 992.497, + "weight_name": "auto", + "weight": 1351.811, + "duration": 1014.805, + "distance": 4417.643, + "legs": [ + { + "via_waypoints": [], + "admins": [ + { + "iso_3166_1_alpha3": "FRA", + "iso_3166_1": "FR" + } + ], + "incidents": [ + { + "id": "4339468195765939", + "type": "construction", + "creation_time": "2023-10-26T08:10:29Z", + "start_time": "2022-10-07T09:20:54Z", + "end_time": "2024-03-31T13:00:00Z", + "iso_3166_1_alpha2": "FR", + "iso_3166_1_alpha3": "FRA", + "description": "Rue Halévy: construction de Place Jacques Rouché à Boulevard Haussmann", + "long_description": "Construction sur Rue Halévy Direction ouest de Rue Meyerbeer / Rue De La Chaussée-D'Antin à Rue Halévy / Place Jacques Rouché.", + "impact": "minor", + "alertc_codes": [ + 701 + ], + "traffic_codes": { + "incident_primary_code": 701 + }, + "lanes_blocked": [], + "length": 92, + "south": 48.872207, + "west": 2.332803, + "north": 48.872951, + "east": 2.333301, + "congestion": { + "value": 101 + }, + "geometry_index_start": 18, + "geometry_index_end": 22, + "affected_road_names": [ + "Rue Halévy" + ], + "affected_road_names_fr": [ + "Rue Halévy" + ] + }, + { + "id": "10325232981504633", + "type": "construction", + "creation_time": "2023-10-26T08:10:29Z", + "start_time": "2022-10-07T09:20:54Z", + "end_time": "2024-02-28T14:00:00Z", + "iso_3166_1_alpha2": "FR", + "iso_3166_1_alpha3": "FRA", + "description": "Rue La Fayette: construction de Rue Laffitte à Rue Le Peletier", + "long_description": "Construction sur Rue La Fayette Direction est de Rue Laffitte / Rue De Provence à Rue Le Peletier / Rue De Provence.", + "impact": "minor", + "alertc_codes": [ + 701 + ], + "traffic_codes": { + "incident_primary_code": 701 + }, + "lanes_blocked": [], + "length": 71, + "south": 48.874362, + "west": 2.33816, + "north": 48.874595, + "east": 2.339051, + "congestion": { + "value": 101 + }, + "geometry_index_start": 37, + "geometry_index_end": 39, + "affected_road_names": [ + "Rue La Fayette" + ], + "affected_road_names_fr": [ + "Rue La Fayette" + ] + } + ], + "annotation": { + "congestion_numeric": [ + 9, + 9, + 9, + 9, + 9, + 33, + 33, + 33, + 0, + 0, + 0, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + 17, + 17, + 17, + 17, + 6, + 6, + 6, + 0, + 0, + 0, + 0, + 17, + 17, + 6, + 6, + 6, + 6, + 6, + 6, + 1, + 11, + 11, + 11, + 9, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 17, + 17, + 14, + 14, + 14, + 0, + 0, + 0, + 14, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 17, + 17, + 8, + 8, + 8, + 8, + 8, + 8, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 8, + 8, + 8, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 4, + 4, + 4, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + 19, + 19, + 1, + 1, + 1, + 1, + null, + null, + null, + null, + null, + null, + null, + null, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + 0, + 0, + 0, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 8, + 8, + 8, + 8, + 8, + null, + null, + 3, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ], + "freeflow_speed": [ + 9, + 9, + 9, + 9, + 9, + 33, + 33, + 33, + 0, + 0, + 0, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + 17, + 17, + 17, + 17, + 6, + 6, + 6, + 0, + 0, + 0, + 0, + 17, + 17, + 6, + 6, + 6, + 6, + 6, + 6, + 1, + 11, + 11, + 11, + 9, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 17, + 17, + 14, + 14, + 14, + 0, + 0, + 0, + 14, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 17, + 17, + 8, + 8, + 8, + 8, + 8, + 8, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 8, + 8, + 8, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 4, + 4, + 4, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + 19, + 19, + 1, + 1, + 1, + 1, + null, + null, + null, + null, + null, + null, + null, + null, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + 0, + 0, + 0, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 8, + 8, + 8, + 8, + 8, + null, + null, + 3, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ], + "current_speed": [ + 9, + 9, + 9, + 9, + 9, + 33, + 33, + 33, + 0, + 0, + 0, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + 17, + 17, + 17, + 17, + 6, + 6, + 6, + 0, + 0, + 0, + 0, + 17, + 17, + 6, + 6, + 6, + 6, + 6, + 6, + 1, + 11, + 11, + 11, + 9, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 17, + 17, + 14, + 14, + 14, + 0, + 0, + 0, + 14, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 17, + 17, + 8, + 8, + 8, + 8, + 8, + 8, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 8, + 8, + 8, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 4, + 4, + 4, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + 19, + 19, + 1, + 1, + 1, + 1, + null, + null, + null, + null, + null, + null, + null, + null, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + 0, + 0, + 0, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 8, + 8, + 8, + 8, + 8, + null, + null, + 3, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ], + "speed": [ + 3.9, + 4.1, + 4.1, + 3, + 4.1, + 3.3, + 3.3, + 3.3, + 4.8, + 4.7, + 4.7, + 4.9, + 4.9, + 4.9, + 4.9, + 5, + 5, + 5, + 3.1, + 3, + 3, + 3, + 4.4, + 4.4, + 4.5, + 4.5, + 4.4, + 6.8, + 7, + 6.7, + 4.4, + 4.4, + 4.4, + 4.4, + 4, + 3.9, + 3.7, + 4.3, + 4.4, + 4.3, + 4.6, + 3.9, + 4, + 4.4, + 4.4, + 4.4, + 4.5, + 4.5, + 4.6, + 4.3, + 5.2, + 5.1, + 5, + 5.5, + 4.1, + 4.1, + 4.2, + 4.5, + 4.5, + 4.5, + 4.5, + 4.4, + 4.4, + 4.9, + 5, + 5.1, + 5, + 5, + 4.9, + 4.4, + 5, + 4.9, + 5.2, + 4.9, + 5, + 5, + 5, + 5, + 5, + 4.7, + 4.7, + 4.7, + 4.7, + 5.5, + 4.4, + 4.7, + 4.6, + 4.2, + 4.3, + 4.2, + 4.2, + 4.2, + 4.2, + 4.2, + 4.2, + 4.2, + 4.2, + 5.1, + 5, + 5, + 5, + 4.4, + 4.4, + 4.5, + 4.4, + 4.4, + 4.4, + 3.2, + 3.3, + 4.9, + 4.8, + 4.8, + 4.4, + 4.2, + 4.2, + 4.2, + 4.2, + 5.4, + 5.6, + 6.7, + 5.5, + 5.5, + 5.7, + 5.3, + 5.3, + 5.5, + 6, + 5, + 4.7, + 4.7, + 4.7, + 4.9, + 4.9, + 5, + 3.7, + 3.7, + 3.8, + 3.7, + 4.8, + 4.4, + 4.4, + 3.8, + 4.2, + 4.2, + 4.4, + 4.1, + 5.3, + 5.3, + 5.3, + 5.3, + 5.3, + 5.2, + 5.5, + 5, + 4.6, + 4.3, + 5.5, + 5.4, + 5.2, + 4.7, + 4.7, + 4.7, + 4.7, + 4.7, + 4.7, + 3.7, + 4.7, + 4.7, + 5.1, + 5.3, + 5.3, + 3.2, + 3.1, + 3.1, + 3, + 2.9, + 3.2, + 9.3, + 5.1, + 5, + 5, + 5, + 4.9, + 6.9, + 6.7, + 8.9, + 6.5, + 6.5, + 6.4, + 4.7, + 5.1, + 4.7, + 4.4, + 4.7, + 4.7, + 4.7, + 4.2, + 4.2, + 4.2, + 6.9, + 7.2, + 6.9, + 7, + 4.5, + 4.8, + 4.4, + 4.5, + 4.7, + 4.6, + 3.1, + 3.1 + ], + "distance": [ + 25.7, + 0.2, + 6.1, + 0.8, + 10.4, + 10.4, + 14.2, + 11.6, + 21.5, + 17.9, + 14.2, + 16.7, + 0.2, + 7.2, + 12.1, + 36.7, + 25.9, + 22.9, + 22.5, + 22.4, + 23.1, + 25, + 19.5, + 8.2, + 68.4, + 63.1, + 9.8, + 10.8, + 57.4, + 8.6, + 36, + 24.9, + 3.5, + 17.5, + 18.4, + 38.2, + 8.7, + 11.6, + 58.6, + 9.6, + 13.4, + 23.8, + 11.2, + 34.9, + 4.1, + 27.7, + 7.8, + 2.3, + 11.4, + 7.7, + 10.5, + 29.4, + 15.9, + 56.9, + 4.7, + 16.8, + 34, + 5.5, + 13.7, + 5.1, + 19.4, + 16.7, + 48.5, + 27.7, + 44.8, + 11.3, + 25.8, + 6.1, + 14.7, + 32.9, + 13.9, + 31.6, + 8.4, + 10.7, + 52.2, + 56.1, + 14.9, + 13.1, + 36.2, + 21, + 43.8, + 56.3, + 3, + 3.5, + 2.8, + 22.7, + 8.8, + 33.4, + 10.4, + 1, + 82.8, + 39, + 3.8, + 2.2, + 3.5, + 3, + 10, + 18.4, + 3, + 38.2, + 16.3, + 41.6, + 15.9, + 11.2, + 36.3, + 40.5, + 15.9, + 8.6, + 18.7, + 10.3, + 27.2, + 73.5, + 10.5, + 34.2, + 23.4, + 15.5, + 12.1, + 12.7, + 9.1, + 29.2, + 13.6, + 20.3, + 5.4, + 67.5, + 21.8, + 8.3, + 12.3, + 8.4, + 32.5, + 45.1, + 37, + 7.1, + 1.3, + 5.3, + 2.5, + 3.7, + 4.2, + 4.1, + 5.5, + 14.5, + 6.4, + 4.6, + 6, + 13, + 7.4, + 11.7, + 11, + 12, + 29.8, + 16.1, + 31, + 27.6, + 10.3, + 63.3, + 11.5, + 6.8, + 6.2, + 23.5, + 11.8, + 12, + 30, + 15.9, + 13.8, + 20.5, + 18.9, + 0.8, + 83.6, + 11.9, + 9.7, + 20, + 50.3, + 7.4, + 17.6, + 3.8, + 11.9, + 10.6, + 8.5, + 4.4, + 7.1, + 4.3, + 41.6, + 46.4, + 10.7, + 10.4, + 21.2, + 114.4, + 2.9, + 22.4, + 11.9, + 9.9, + 4.4, + 123.9, + 4.6, + 29.3, + 11.9, + 6.9, + 7, + 65.3, + 6.1, + 64.7, + 10.4, + 10.9, + 51.4, + 7.7, + 53.4, + 5.6, + 6.6, + 44.2, + 6.8, + 5.1, + 90.6 + ], + "duration": [ + 6.608, + 0.053, + 1.498, + 0.257, + 2.571, + 5.111, + 4.211, + 3.485, + 10.377, + 3.78, + 3.004, + 3.467, + 0.069, + 1.475, + 2.477, + 7.4, + 5.2, + 4.619, + 7.207, + 7.448, + 7.627, + 8.23, + 4.487, + 1.861, + 15.345, + 14.182, + 2.257, + 1.591, + 8.215, + 1.303, + 8.11, + 5.622, + 0.798, + 3.934, + 4.635, + 9.791, + 2.322, + 2.707, + 13.282, + 2.25, + 2.944, + 6.194, + 2.836, + 7.871, + 0.91, + 6.307, + 1.729, + 0.528, + 2.494, + 1.807, + 2.008, + 5.807, + 3.207, + 12.267, + 1.16, + 4.126, + 8.167, + 1.236, + 3.044, + 1.128, + 4.283, + 5.832, + 11.033, + 5.622, + 9.007, + 2.207, + 7.193, + 1.215, + 3.007, + 7.444, + 4.808, + 6.421, + 1.619, + 4.207, + 10.42, + 11.199, + 3.007, + 4.607, + 7.219, + 4.454, + 9.282, + 11.904, + 0.633, + 0.659, + 0.644, + 4.89, + 1.913, + 9.927, + 2.407, + 0.232, + 19.852, + 9.342, + 0.91, + 0.509, + 0.842, + 0.741, + 2.408, + 3.607, + 0.638, + 7.724, + 3.289, + 9.45, + 3.607, + 2.497, + 8.212, + 9.122, + 3.607, + 6.02, + 5.71, + 4.125, + 5.738, + 15.459, + 2.419, + 8.232, + 5.597, + 3.711, + 2.899, + 4.359, + 1.628, + 4.357, + 2.449, + 3.678, + 0.954, + 12.746, + 4.118, + 1.523, + 4.083, + 3.739, + 6.995, + 9.533, + 7.832, + 1.478, + 0.253, + 1.12, + 0.709, + 0.994, + 1.128, + 1.134, + 1.132, + 3.286, + 1.458, + 1.207, + 1.459, + 3.127, + 4.085, + 3.05, + 2.166, + 2.657, + 5.638, + 3.062, + 5.883, + 5.305, + 1.903, + 14.619, + 2.494, + 1.596, + 3.145, + 4.365, + 2.274, + 2.539, + 6.351, + 3.356, + 2.924, + 4.333, + 4.024, + 0.234, + 19.788, + 2.549, + 3.915, + 3.809, + 9.474, + 2.313, + 5.656, + 1.217, + 3.948, + 3.607, + 4.954, + 0.584, + 1.407, + 0.867, + 8.294, + 9.259, + 2.221, + 1.507, + 3.158, + 12.825, + 0.445, + 3.468, + 1.885, + 10.909, + 0.855, + 26.266, + 1.083, + 6.184, + 2.505, + 1.49, + 3.702, + 15.607, + 1.447, + 9.367, + 1.447, + 1.603, + 7.351, + 4.229, + 11.231, + 1.291, + 2.875, + 9.326, + 1.49, + 7.031, + 29.68 + ] + }, + "weight_typical": 1325.599, + "duration_typical": 992.497, + "weight": 1351.811, + "duration": 1014.805, + "steps": [ + { + "bannerInstructions": [ + { + "sub": { + "components": [ + { + "active": false, + "directions": [ + "left" + ], + "type": "lane", + "text": "" + }, + { + "active_direction": "left", + "active": true, + "directions": [ + "left", + "straight" + ], + "type": "lane", + "text": "" + }, + { + "active": false, + "directions": [ + "straight" + ], + "type": "lane", + "text": "" + }, + { + "active": false, + "directions": [ + "straight" + ], + "type": "lane", + "text": "" + } + ], + "text": "" + }, + "primary": { + "components": [ + { + "type": "text", + "text": "Place de l'Opéra" + } + ], + "type": "turn", + "modifier": "left", + "text": "Place de l'Opéra" + }, + "distanceAlongGeometry": 79.425 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Drive east on Boulevard des Capucines. Then Turn left onto Place de l'Opéra.", + "announcement": "Drive east on Boulevard des Capucines. Then Turn left onto Place de l'Opéra.", + "distanceAlongGeometry": 79.425 + } + ], + "intersections": [ + { + "entry": [ + true + ], + "bearings": [ + 75 + ], + "duration": 6.608, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.765, + "geometry_index": 0, + "location": [ + 2.331495, + 48.870527 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 76, + 166, + 255, + 346 + ], + "duration": 1.55, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.813, + "geometry_index": 1, + "location": [ + 2.331834, + 48.870586 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 73, + 256 + ], + "duration": 0.257, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 0.302, + "geometry_index": 3, + "location": [ + 2.331917, + 48.8706 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 76, + 253 + ], + "duration": 2.571, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.021, + "geometry_index": 4, + "location": [ + 2.331927, + 48.870602 + ] + }, + { + "bearings": [ + 76, + 165, + 256, + 344 + ], + "entry": [ + true, + true, + false, + false + ], + "in": 2, + "turn_weight": 1.5, + "turn_duration": 2.007, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 5, + "location": [ + 2.332066, + 48.870625 + ] + } + ], + "maneuver": { + "type": "depart", + "instruction": "Drive east on Boulevard des Capucines.", + "bearing_after": 75, + "bearing_before": 0, + "location": [ + 2.331495, + 48.870527 + ] + }, + "name": "Boulevard des Capucines", + "weight_typical": 24.814, + "duration_typical": 21.856, + "duration": 23.794, + "distance": 79.425, + "driving_side": "right", + "weight": 27.091, + "mode": "driving", + "geometry": "}fye|AmuhmCuBeTACYaDCSm@uGk@sGaAsJ[{H" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Halévy" + } + ], + "type": "turn", + "modifier": "slight right", + "text": "Rue Halévy" + }, + "distanceAlongGeometry": 53.6 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Bear right onto Rue Halévy.", + "announcement": "Bear right onto Rue Halévy.", + "distanceAlongGeometry": 43.6 + } + ], + "intersections": [ + { + "lanes": [ + { + "indications": [ + "left" + ], + "valid": false, + "active": false + }, + { + "indications": [ + "left", + "straight" + ], + "valid_indication": "left", + "valid": true, + "active": true + }, + { + "indications": [ + "straight" + ], + "valid": false, + "active": false + }, + { + "indications": [ + "straight" + ], + "valid": false, + "active": false + } + ], + "location": [ + 2.332548, + 48.870694 + ], + "geometry_index": 8, + "admin_index": 0, + "weight": 20.225, + "is_urban": true, + "mapbox_streets_v8": { + "class": "secondary" + }, + "turn_duration": 5.93, + "turn_weight": 15, + "duration": 10.377, + "bearings": [ + 80, + 165, + 259, + 344 + ], + "out": 3, + "in": 2, + "entry": [ + true, + false, + false, + true + ] + }, + { + "bearings": [ + 75, + 164, + 253, + 343 + ], + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "geometry_index": 9, + "location": [ + 2.332469, + 48.87088 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn left onto Place de l'Opéra.", + "modifier": "left", + "bearing_after": 344, + "bearing_before": 79, + "location": [ + 2.332548, + 48.870694 + ] + }, + "name": "Place de l'Opéra", + "weight_typical": 30.012, + "duration_typical": 17.863, + "duration": 17.161, + "distance": 53.6, + "driving_side": "right", + "weight": 29.188, + "mode": "driving", + "geometry": "kqye|AgwjmCsJ|CsHhCsFrB" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue du Faubourg Saint-Denis" + } + ], + "type": "turn", + "modifier": "left", + "text": "Rue du Faubourg Saint-Denis" + }, + "distanceAlongGeometry": 2097.621 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Continue for 1.5 miles.", + "announcement": "Continue for 1.5 miles.", + "distanceAlongGeometry": 2087.621 + }, + { + "ssmlAnnouncement": "In a quarter mile, Turn left onto Rue du Faubourg Saint-Denis.", + "announcement": "In a quarter mile, Turn left onto Rue du Faubourg Saint-Denis.", + "distanceAlongGeometry": 402.336 + }, + { + "ssmlAnnouncement": "Turn left.", + "announcement": "Turn left.", + "distanceAlongGeometry": 40 + } + ], + "intersections": [ + { + "entry": [ + true, + false, + true + ], + "in": 1, + "bearings": [ + 17, + 163, + 255 + ], + "duration": 3.467, + "turn_weight": 6.5, + "turn_duration": 0.067, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 10.495, + "geometry_index": 11, + "location": [ + 2.332342, + 48.871156 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 16, + 108, + 197, + 289 + ], + "duration": 4.021, + "turn_weight": 1, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 5.7, + "geometry_index": 12, + "location": [ + 2.332408, + 48.871299 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 16, + 196 + ], + "duration": 7.4, + "turn_weight": 0.5, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 9.195, + "geometry_index": 15, + "location": [ + 2.332482, + 48.871468 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 16, + 196 + ], + "duration": 5.2, + "turn_weight": 0.5, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.61, + "geometry_index": 16, + "location": [ + 2.332623, + 48.871784 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 15, + 93, + 196, + 275 + ], + "duration": 4.619, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.405, + "geometry_index": 17, + "location": [ + 2.332721, + 48.872008 + ] + }, + { + "entry": [ + true, + true, + false, + true + ], + "in": 2, + "bearings": [ + 17, + 131, + 195, + 313 + ], + "duration": 7.207, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 9.46, + "geometry_index": 18, + "location": [ + 2.332803, + 48.872206 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 16, + 103, + 197, + 283 + ], + "duration": 15.075, + "turn_weight": 1, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 18.689, + "geometry_index": 19, + "location": [ + 2.332893, + 48.872399 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 45, + 115, + 195, + 296 + ], + "duration": 8.23, + "turn_weight": 1, + "turn_duration": 0.048, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 10.614, + "geometry_index": 21, + "location": [ + 2.333061, + 48.872793 + ] + }, + { + "entry": [ + true, + false, + true, + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 32, + 101, + 165, + 225, + 282, + 344, + 355 + ], + "duration": 6.348, + "turn_weight": 8, + "turn_duration": 0.048, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 15.402, + "geometry_index": 22, + "location": [ + 2.333301, + 48.872952 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 160, + 220, + 339 + ], + "duration": 15.345, + "turn_weight": 1, + "turn_duration": 0.045, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 18.978, + "geometry_index": 24, + "location": [ + 2.333527, + 48.873146 + ] + }, + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 1, + 68, + 248 + ], + "duration": 14.182, + "turn_weight": 0.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 17.156, + "geometry_index": 25, + "location": [ + 2.33439, + 48.87338 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 169, + 248, + 349 + ], + "duration": 2.257, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.644, + "geometry_index": 26, + "location": [ + 2.335191, + 48.87359 + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 3, + "bearings": [ + 4, + 68, + 177, + 248 + ], + "duration": 1.591, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 2.861, + "geometry_index": 27, + "location": [ + 2.335315, + 48.873623 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 69, + 168, + 248, + 348 + ], + "duration": 8.215, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 10.644, + "geometry_index": 28, + "location": [ + 2.335452, + 48.873659 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 69, + 163, + 249, + 345 + ], + "duration": 1.303, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.523, + "geometry_index": 29, + "location": [ + 2.336182, + 48.873847 + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 2, + "bearings": [ + 69, + 160, + 249, + 336 + ], + "duration": 13.732, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 17.127, + "geometry_index": 30, + "location": [ + 2.336292, + 48.873875 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 69, + 160, + 249, + 341 + ], + "duration": 4.732, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.552, + "geometry_index": 32, + "location": [ + 2.337068, + 48.874071 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 69, + 249, + 289 + ], + "duration": 4.635, + "turn_weight": 0.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 5.939, + "geometry_index": 34, + "location": [ + 2.337336, + 48.874138 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 67, + 139, + 249, + 325 + ], + "duration": 9.791, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 12.481, + "geometry_index": 35, + "location": [ + 2.33757, + 48.874198 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 6, + 68, + 187, + 247 + ], + "duration": 2.322, + "turn_weight": 1, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 3.719, + "geometry_index": 36, + "location": [ + 2.33805, + 48.874333 + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 3, + "bearings": [ + 14, + 68, + 194, + 248 + ], + "duration": 2.707, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 4.173, + "geometry_index": 37, + "location": [ + 2.33816, + 48.874362 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 8, + 68, + 189, + 248 + ], + "duration": 13.282, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 16.598, + "geometry_index": 38, + "location": [ + 2.338307, + 48.874402 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 70, + 248 + ], + "duration": 2.25, + "turn_weight": 0.5, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.144, + "geometry_index": 39, + "location": [ + 2.339051, + 48.874596 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 10, + 70, + 189, + 250 + ], + "duration": 2.944, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 4.437, + "geometry_index": 40, + "location": [ + 2.339174, + 48.874626 + ] + }, + { + "entry": [ + false, + true, + true, + false + ], + "in": 3, + "bearings": [ + 15, + 68, + 196, + 250 + ], + "duration": 6.194, + "turn_weight": 1.5, + "turn_duration": 0.022, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 8.751, + "geometry_index": 41, + "location": [ + 2.339346, + 48.874667 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 160, + 248, + 342 + ], + "duration": 2.835, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.324, + "geometry_index": 42, + "location": [ + 2.339647, + 48.874747 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 176, + 248, + 339 + ], + "duration": 8.782, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 11.311, + "geometry_index": 43, + "location": [ + 2.339789, + 48.874784 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 160, + 248, + 341 + ], + "duration": 6.307, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 8.402, + "geometry_index": 45, + "location": [ + 2.340283, + 48.874915 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 69, + 248, + 275 + ], + "duration": 2.257, + "turn_weight": 0.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.144, + "geometry_index": 46, + "location": [ + 2.340635, + 48.875008 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 163, + 249, + 336 + ], + "duration": 2.494, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.908, + "geometry_index": 48, + "location": [ + 2.340763, + 48.875041 + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 2, + "bearings": [ + 67, + 186, + 248, + 336 + ], + "duration": 1.807, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.115, + "geometry_index": 49, + "location": [ + 2.340907, + 48.87508 + ] + }, + { + "entry": [ + true, + false, + false, + true + ], + "in": 2, + "bearings": [ + 68, + 151, + 247, + 332 + ], + "duration": 2.008, + "turn_weight": 1.5, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.85, + "geometry_index": 50, + "location": [ + 2.341004, + 48.875107 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 151, + 248, + 332 + ], + "duration": 5.807, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.815, + "geometry_index": 51, + "location": [ + 2.341136, + 48.875142 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 182, + 248, + 358 + ], + "duration": 3.207, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.76, + "geometry_index": 52, + "location": [ + 2.341508, + 48.875243 + ] + }, + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.341709, + 48.875297 + ], + "geometry_index": 53, + "admin_index": 0, + "weight": 13.056, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.007, + "turn_weight": 1, + "duration": 12.267, + "bearings": [ + 27, + 68, + 208, + 248 + ], + "out": 1, + "in": 3, + "entry": [ + false, + true, + false, + false + ] + }, + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 68, + 206, + 248 + ], + "duration": 5.287, + "turn_weight": 0.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.704, + "geometry_index": 54, + "location": [ + 2.342431, + 48.875485 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 67, + 153, + 248, + 348 + ], + "duration": 8.167, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 10.588, + "geometry_index": 56, + "location": [ + 2.342703, + 48.875558 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 67, + 247, + 272 + ], + "duration": 5.408, + "turn_weight": 1, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.345, + "geometry_index": 57, + "location": [ + 2.343131, + 48.875676 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 159, + 247, + 341 + ], + "duration": 4.283, + "turn_weight": 1, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.023, + "geometry_index": 60, + "location": [ + 2.343438, + 48.875761 + ] + }, + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.343683, + 48.875826 + ], + "geometry_index": 61, + "admin_index": 0, + "weight": 5.494, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.007, + "turn_weight": 1, + "duration": 5.832, + "bearings": [ + 25, + 68, + 201, + 248 + ], + "out": 1, + "in": 3, + "entry": [ + true, + true, + true, + false + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 70, + 158, + 248, + 339 + ], + "duration": 11.033, + "turn_weight": 1, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 13.954, + "geometry_index": 62, + "location": [ + 2.343895, + 48.875881 + ] + }, + { + "entry": [ + true, + true, + true, + false, + false + ], + "in": 3, + "bearings": [ + 68, + 99, + 184, + 250, + 338 + ], + "duration": 5.622, + "turn_weight": 1, + "turn_duration": 0.022, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.58, + "geometry_index": 63, + "location": [ + 2.344518, + 48.876031 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 158, + 248, + 338 + ], + "duration": 9.007, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 11.575, + "geometry_index": 64, + "location": [ + 2.344869, + 48.876122 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 158, + 248, + 341 + ], + "duration": 2.207, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.585, + "geometry_index": 65, + "location": [ + 2.345438, + 48.87627 + ] + }, + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.345581, + 48.876308 + ], + "geometry_index": 66, + "admin_index": 0, + "weight": 8.52, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.007, + "turn_weight": 1, + "duration": 8.407, + "bearings": [ + 69, + 182, + 248, + 336 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false, + false + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 69, + 160, + 249, + 339 + ], + "duration": 3.007, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.525, + "geometry_index": 68, + "location": [ + 2.345987, + 48.876413 + ] + }, + { + "entry": [ + true, + false, + true + ], + "in": 1, + "bearings": [ + 68, + 249, + 332 + ], + "duration": 7.444, + "turn_weight": 0.5, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 9.224, + "geometry_index": 69, + "location": [ + 2.346174, + 48.876461 + ] + }, + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.34659, + 48.876573 + ], + "geometry_index": 70, + "admin_index": 0, + "weight": 4.29, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.008, + "turn_weight": 1, + "duration": 4.808, + "bearings": [ + 70, + 125, + 199, + 248, + 307 + ], + "out": 0, + "in": 3, + "entry": [ + true, + false, + true, + false, + true + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 69, + 158, + 250, + 339 + ], + "duration": 6.421, + "turn_weight": 1, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 8.52, + "geometry_index": 71, + "location": [ + 2.346769, + 48.876615 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 158, + 249, + 338 + ], + "duration": 1.619, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.88, + "geometry_index": 72, + "location": [ + 2.347171, + 48.876719 + ] + }, + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.347277, + 48.876747 + ], + "geometry_index": 73, + "admin_index": 0, + "weight": 3.585, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.007, + "turn_weight": 1, + "duration": 4.207, + "bearings": [ + 69, + 146, + 248, + 336 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false, + false + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 155, + 249, + 334 + ], + "duration": 21.619, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 26.38, + "geometry_index": 74, + "location": [ + 2.347413, + 48.876782 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 166, + 248, + 345 + ], + "duration": 3.007, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.525, + "geometry_index": 76, + "location": [ + 2.348788, + 48.877141 + ] + }, + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.348977, + 48.877191 + ], + "geometry_index": 77, + "admin_index": 0, + "weight": 4.555, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.007, + "turn_weight": 1.5, + "duration": 4.607, + "bearings": [ + 20, + 69, + 197, + 248 + ], + "out": 1, + "in": 3, + "entry": [ + false, + true, + true, + false + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 160, + 249, + 341 + ], + "duration": 7.219, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 9.46, + "geometry_index": 78, + "location": [ + 2.349144, + 48.877233 + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 101, + 248, + 284 + ], + "duration": 4.454, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.225, + "geometry_index": 79, + "location": [ + 2.349604, + 48.877353 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 158, + 248, + 339 + ], + "duration": 21.819, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 26.629, + "geometry_index": 80, + "location": [ + 2.34987, + 48.877422 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 65, + 168, + 249, + 336 + ], + "duration": 0.659, + "turn_weight": 1, + "turn_duration": 0.024, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.746, + "geometry_index": 83, + "location": [ + 2.351181, + 48.877761 + ] + }, + { + "entry": [ + false, + true, + false + ], + "in": 2, + "bearings": [ + 7, + 69, + 245 + ], + "duration": 0.644, + "turn_weight": 0.5, + "turn_duration": 0.009, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 1.246, + "geometry_index": 84, + "location": [ + 2.351224, + 48.877774 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 128, + 249 + ], + "duration": 4.89, + "turn_weight": 0.5, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.223, + "geometry_index": 85, + "location": [ + 2.35126, + 48.877783 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 127, + 248, + 320 + ], + "duration": 1.913, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.239, + "geometry_index": 86, + "location": [ + 2.351547, + 48.877859 + ] + }, + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.351659, + 48.877889 + ], + "geometry_index": 87, + "admin_index": 0, + "weight": 10.306, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.007, + "turn_weight": 1, + "duration": 9.927, + "bearings": [ + 68, + 135, + 248, + 311 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false, + true + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 153, + 248, + 335 + ], + "duration": 2.407, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.82, + "geometry_index": 88, + "location": [ + 2.352083, + 48.878 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 68, + 248, + 346 + ], + "duration": 31.687, + "turn_weight": 0.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 37.724, + "geometry_index": 89, + "location": [ + 2.352215, + 48.878035 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 66, + 151, + 248, + 331 + ], + "duration": 0.741, + "turn_weight": 1, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.846, + "geometry_index": 95, + "location": [ + 2.353891, + 48.878478 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 69, + 149, + 246, + 329 + ], + "duration": 2.408, + "turn_weight": 1, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.82, + "geometry_index": 96, + "location": [ + 2.353929, + 48.878489 + ] + }, + { + "entry": [ + true, + true, + false, + true + ], + "in": 2, + "bearings": [ + 69, + 151, + 249, + 328 + ], + "duration": 3.607, + "turn_weight": 3, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.23, + "geometry_index": 97, + "location": [ + 2.354057, + 48.878521 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 59, + 170, + 249, + 341 + ], + "duration": 0.638, + "turn_weight": 1, + "turn_duration": 0.038, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.705, + "geometry_index": 98, + "location": [ + 2.354292, + 48.878579 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 69, + 159, + 239, + 336 + ], + "duration": 11.014, + "turn_weight": 1, + "turn_duration": 0.014, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 13.925, + "geometry_index": 99, + "location": [ + 2.354327, + 48.878593 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 69, + 249 + ], + "duration": 9.45, + "turn_weight": 0.5, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 11.604, + "geometry_index": 101, + "location": [ + 2.355022, + 48.878769 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 69, + 160, + 249, + 339 + ], + "duration": 3.607, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 5.23, + "geometry_index": 102, + "location": [ + 2.355552, + 48.878903 + ] + }, + { + "entry": [ + false, + true, + true, + false + ], + "in": 3, + "bearings": [ + 7, + 66, + 189, + 249 + ], + "duration": 2.497, + "turn_weight": 1, + "turn_duration": 0.022, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 3.908, + "geometry_index": 103, + "location": [ + 2.355755, + 48.878954 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 10, + 70, + 191, + 246 + ], + "duration": 17.334, + "turn_weight": 1, + "turn_duration": 0.009, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 21.357, + "geometry_index": 104, + "location": [ + 2.355894, + 48.878995 + ] + }, + { + "bearings": [ + 70, + 179, + 249, + 358 + ], + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 106, + "location": [ + 2.356874, + 48.879241 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Bear right onto Rue Halévy.", + "modifier": "slight right", + "bearing_after": 17, + "bearing_before": 343, + "location": [ + 2.332342, + 48.871156 + ] + }, + "name": "Rue Halévy", + "weight_typical": 599.28, + "duration_typical": 453.483, + "duration": 477.337, + "distance": 2097.621, + "driving_side": "right", + "weight": 627.308, + "mode": "driving", + "geometry": "gnze|AkjjmC}GcCCA{By@qEwAwRyG_McEkKcDaKsDcKiDoKeD}H_NoHkGsAwDsM}t@cLaq@aAwFgAqGwJsl@w@{EgFs[_D{RUyAoB}LwBsMmG_]y@{EoAeHcKom@{@uFqAwI_DyQiA{GiFuZ[eByD_Uu@aEK}@mA_Hu@aEeAgGiEgVkBqKwJcl@]wBsBgLkFwYe@kC_ByIc@_CaCiNmBgLkH}e@uD}TgHqb@kA}GiDqSg@yC_BuJ_F_YsAeJoEcXw@sEeAoGyIkh@sJqk@cByJsAmIoFw[iCsOaHya@sJuk@OmAYuAQgAwC}P{@_F}EoYeAgGEWkPs`AeG{]Y_BMu@UyAUkA_A_GsBuM[eAsFo]kB}KkGc`@eBuKqAuGaFc\\iGc_@aByK" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Marx Dormoy" + } + ], + "type": "turn", + "modifier": "slight right", + "text": "Rue Marx Dormoy" + }, + "distanceAlongGeometry": 642.767 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Continue for a half mile.", + "announcement": "Continue for a half mile.", + "distanceAlongGeometry": 632.767 + }, + { + "ssmlAnnouncement": "In a quarter mile, Bear right onto Rue Marx Dormoy.", + "announcement": "In a quarter mile, Bear right onto Rue Marx Dormoy.", + "distanceAlongGeometry": 402.336 + }, + { + "ssmlAnnouncement": "Bear right onto Rue Marx Dormoy.", + "announcement": "Bear right onto Rue Marx Dormoy.", + "distanceAlongGeometry": 53.333 + } + ], + "intersections": [ + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.357079, + 48.87929 + ], + "geometry_index": 107, + "admin_index": 0, + "weight": 13.172, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 3.32, + "turn_weight": 10, + "duration": 6.02, + "bearings": [ + 13, + 66, + 200, + 250 + ], + "out": 0, + "in": 3, + "entry": [ + true, + true, + false, + false + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 19, + 193, + 248 + ], + "duration": 5.71, + "turn_weight": 0.5, + "turn_duration": 0.01, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.198, + "geometry_index": 108, + "location": [ + 2.357106, + 48.879365 + ] + }, + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.357188, + 48.879524 + ], + "geometry_index": 109, + "admin_index": 0, + "weight": 3.488, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.007, + "turn_weight": 1, + "duration": 4.125, + "bearings": [ + 20, + 101, + 199, + 284 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false, + true + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 19, + 107, + 200, + 289 + ], + "duration": 5.738, + "turn_weight": 1, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.718, + "geometry_index": 110, + "location": [ + 2.357235, + 48.879611 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 19, + 199 + ], + "duration": 15.459, + "turn_weight": 0.5, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 18.664, + "geometry_index": 111, + "location": [ + 2.357356, + 48.879842 + ] + }, + { + "entry": [ + true, + false, + true + ], + "in": 1, + "bearings": [ + 19, + 199, + 290 + ], + "duration": 2.419, + "turn_weight": 0.5, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.32, + "geometry_index": 112, + "location": [ + 2.357684, + 48.880466 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 19, + 110, + 199, + 291 + ], + "duration": 17.539, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 21.586, + "geometry_index": 113, + "location": [ + 2.35773, + 48.880555 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 19, + 117, + 199, + 287 + ], + "duration": 2.899, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.384, + "geometry_index": 116, + "location": [ + 2.358052, + 48.881177 + ] + }, + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.358107, + 48.88128 + ], + "geometry_index": 117, + "admin_index": 0, + "weight": 3.25, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.019, + "turn_weight": 0.5, + "duration": 4.359, + "bearings": [ + 18, + 113, + 199 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 21, + 117, + 198, + 287 + ], + "duration": 1.628, + "turn_weight": 1, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.904, + "geometry_index": 118, + "location": [ + 2.358161, + 48.881388 + ] + }, + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 21, + 111, + 201 + ], + "duration": 4.357, + "turn_weight": 0.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 5.611, + "geometry_index": 119, + "location": [ + 2.358206, + 48.881464 + ] + }, + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 21, + 110, + 201 + ], + "duration": 6.127, + "turn_weight": 0.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.691, + "geometry_index": 120, + "location": [ + 2.358347, + 48.88171 + ] + }, + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 21, + 110, + 202 + ], + "duration": 0.954, + "turn_weight": 0.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.613, + "geometry_index": 122, + "location": [ + 2.358514, + 48.881994 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 21, + 201 + ], + "duration": 16.863, + "turn_weight": 0.5, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 20.314, + "geometry_index": 123, + "location": [ + 2.35854, + 48.882039 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 23, + 127, + 203, + 297 + ], + "duration": 1.523, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.781, + "geometry_index": 125, + "location": [ + 2.35899, + 48.882784 + ] + }, + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.359034, + 48.882853 + ], + "geometry_index": 126, + "admin_index": 0, + "weight": 2.917, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.026, + "turn_weight": 0.5, + "duration": 4.083, + "bearings": [ + 18, + 94, + 203 + ], + "out": 0, + "in": 2, + "entry": [ + true, + true, + false + ] + }, + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.359087, + 48.882958 + ], + "geometry_index": 127, + "admin_index": 0, + "weight": 2.741, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.045, + "turn_weight": 0.75, + "duration": 3.739, + "bearings": [ + 7, + 96, + 198 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 7, + 101, + 187, + 282 + ], + "duration": 6.995, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 9.211, + "geometry_index": 128, + "location": [ + 2.359101, + 48.883033 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 7, + 187 + ], + "duration": 17.365, + "turn_weight": 0.5, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 20.904, + "geometry_index": 129, + "location": [ + 2.359156, + 48.883323 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 1, + "bearings": [ + 33, + 187, + 320, + 334 + ], + "duration": 1.731, + "turn_weight": 0.75, + "turn_duration": 0.037, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.741, + "geometry_index": 131, + "location": [ + 2.359292, + 48.884055 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 17, + 115, + 213, + 297 + ], + "duration": 1.12, + "turn_weight": 1, + "turn_duration": 0.061, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.244, + "geometry_index": 133, + "location": [ + 2.359353, + 48.884117 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 6, + 107, + 197, + 296 + ], + "duration": 1.703, + "turn_weight": 1, + "turn_duration": 0.041, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.952, + "geometry_index": 134, + "location": [ + 2.359374, + 48.884163 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 4, + 97, + 186, + 276 + ], + "duration": 1.128, + "turn_weight": 1, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.302, + "geometry_index": 136, + "location": [ + 2.359383, + 48.884218 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 92, + 184, + 272, + 359 + ], + "duration": 1.134, + "turn_weight": 1, + "turn_duration": 0.026, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 2.302, + "geometry_index": 137, + "location": [ + 2.359387, + 48.884256 + ] + }, + { + "entry": [ + true, + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 0, + 42, + 93, + 179, + 275 + ], + "duration": 1.132, + "turn_weight": 8, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 9.322, + "geometry_index": 138, + "location": [ + 2.359386, + 48.884293 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 93, + 180, + 272, + 359 + ], + "duration": 4.744, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 5.552, + "geometry_index": 139, + "location": [ + 2.359386, + 48.884342 + ] + }, + { + "entry": [ + true, + false, + false, + true + ], + "in": 2, + "bearings": [ + 0, + 92, + 179, + 270 + ], + "duration": 1.207, + "turn_weight": 7, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 8.41, + "geometry_index": 141, + "location": [ + 2.359383, + 48.88453 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 94, + 180, + 269, + 359 + ], + "duration": 1.459, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 1.692, + "geometry_index": 142, + "location": [ + 2.359383, + 48.884571 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 97, + 179, + 277, + 359 + ], + "duration": 3.127, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 3.666, + "geometry_index": 143, + "location": [ + 2.359381, + 48.884625 + ] + }, + { + "bearings": [ + 89, + 179, + 318 + ], + "entry": [ + false, + false, + true + ], + "in": 1, + "turn_duration": 2.405, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "geometry_index": 144, + "location": [ + 2.359377, + 48.884742 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn left onto Rue du Faubourg Saint-Denis.", + "modifier": "left", + "bearing_after": 13, + "bearing_before": 70, + "location": [ + 2.357079, + 48.87929 + ] + }, + "name": "Rue du Faubourg Saint-Denis", + "weight_typical": 204.184, + "duration_typical": 151.802, + "duration": 150.473, + "distance": 642.767, + "driving_side": "right", + "weight": 202.623, + "mode": "driving", + "geometry": "sjjf|AmtznCuCu@}HcDmD}AmMqF_f@oSqD{AgQiHkKsEgGeCmEmBwEkBwCyAkNyGcF_CsImEyAs@ib@ySgJiFiCwAqEiBuC[cQmBcXqCsS}BeBsBUE{Ai@k@IaAGkAGiA@aB?cG?sBDqA?kBBiFFaBfC" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Ordener" + } + ], + "type": "turn", + "modifier": "left", + "text": "Rue Ordener" + }, + "distanceAlongGeometry": 611.247 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Continue for a half mile.", + "announcement": "Continue for a half mile.", + "distanceAlongGeometry": 578.542 + }, + { + "ssmlAnnouncement": "In a quarter mile, Turn left onto Rue Ordener.", + "announcement": "In a quarter mile, Turn left onto Rue Ordener.", + "distanceAlongGeometry": 402.336 + }, + { + "ssmlAnnouncement": "Turn left onto Rue Ordener.", + "announcement": "Turn left onto Rue Ordener.", + "distanceAlongGeometry": 50 + } + ], + "intersections": [ + { + "entry": [ + true, + false, + true, + true + ], + "in": 1, + "bearings": [ + 5, + 138, + 201, + 272 + ], + "duration": 3.05, + "turn_duration": 0.17, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.384, + "geometry_index": 145, + "location": [ + 2.359309, + 48.884791 + ] + }, + { + "entry": [ + false, + true, + false, + false, + false, + false + ], + "in": 4, + "bearings": [ + 1, + 41, + 90, + 146, + 185, + 332 + ], + "duration": 2.167, + "turn_weight": 5, + "turn_duration": 0.082, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 7.449, + "geometry_index": 146, + "location": [ + 2.359323, + 48.884896 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 92, + 221, + 273 + ], + "duration": 17.239, + "turn_duration": 0.376, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 19.814, + "geometry_index": 147, + "location": [ + 2.359422, + 48.88497 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 6, + 184 + ], + "duration": 5.305, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.234, + "geometry_index": 151, + "location": [ + 2.359465, + 48.885768 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 8, + 93, + 186, + 275 + ], + "duration": 1.903, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.226, + "geometry_index": 152, + "location": [ + 2.359506, + 48.886014 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 8, + 188, + 267 + ], + "duration": 14.619, + "turn_duration": 2.019, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 14.805, + "geometry_index": 153, + "location": [ + 2.359526, + 48.886106 + ] + }, + { + "entry": [ + true, + false, + true + ], + "in": 1, + "bearings": [ + 9, + 188, + 275 + ], + "duration": 2.494, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.908, + "geometry_index": 154, + "location": [ + 2.359648, + 48.886669 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 7, + 97, + 189, + 276 + ], + "duration": 1.596, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.851, + "geometry_index": 155, + "location": [ + 2.359672, + 48.886771 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 10, + 94, + 187 + ], + "duration": 3.145, + "turn_duration": 2.008, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.336, + "geometry_index": 156, + "location": [ + 2.359684, + 48.886831 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 10, + 99, + 190, + 279 + ], + "duration": 4.365, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 5.121, + "geometry_index": 157, + "location": [ + 2.359698, + 48.886886 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 10, + 190 + ], + "duration": 2.274, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.672, + "geometry_index": 158, + "location": [ + 2.359752, + 48.887094 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 8, + 190, + 277 + ], + "duration": 19.503, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 22.892, + "geometry_index": 159, + "location": [ + 2.359781, + 48.887199 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 3, + 183 + ], + "duration": 4.024, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.728, + "geometry_index": 164, + "location": [ + 2.359913, + 48.888022 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 82, + 183, + 263 + ], + "duration": 0.234, + "turn_duration": 0.022, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 0.249, + "geometry_index": 165, + "location": [ + 2.359925, + 48.888191 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 181 + ], + "duration": 19.788, + "turn_duration": 2, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 20.901, + "geometry_index": 166, + "location": [ + 2.359925, + 48.888198 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 3, + 99, + 181, + 277 + ], + "duration": 2.549, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.986, + "geometry_index": 167, + "location": [ + 2.359948, + 48.888949 + ] + }, + { + "mapbox_streets_v8": { + "class": "primary" + }, + "location": [ + 2.359956, + 48.889056 + ], + "geometry_index": 168, + "admin_index": 0, + "weight": 2.726, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.021, + "turn_weight": 0.5, + "duration": 3.915, + "bearings": [ + 1, + 183, + 265 + ], + "out": 0, + "in": 1, + "entry": [ + true, + false, + false + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 89, + 181, + 269 + ], + "duration": 3.809, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.453, + "geometry_index": 169, + "location": [ + 2.359958, + 48.889143 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 181 + ], + "duration": 9.474, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 11.132, + "geometry_index": 170, + "location": [ + 2.359961, + 48.889323 + ] + }, + { + "entry": [ + false, + true, + true + ], + "in": 0, + "bearings": [ + 181, + 270, + 359 + ], + "duration": 2.313, + "turn_duration": 0.022, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "weight": 2.692, + "geometry_index": 171, + "location": [ + 2.359976, + 48.889775 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 179 + ], + "duration": 6.873, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 8.075, + "geometry_index": 172, + "location": [ + 2.359975, + 48.889841 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 84, + 181, + 265, + 360 + ], + "duration": 3.948, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 4.615, + "geometry_index": 174, + "location": [ + 2.359979, + 48.890033 + ] + }, + { + "bearings": [ + 0, + 101, + 180, + 298 + ], + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 175, + "location": [ + 2.359978, + 48.89014 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Bear right onto Rue Marx Dormoy.", + "modifier": "slight right", + "bearing_after": 1, + "bearing_before": 318, + "location": [ + 2.359309, + 48.884791 + ] + }, + "name": "Rue Marx Dormoy", + "weight_typical": 159.183, + "duration_typical": 139.645, + "duration": 138.193, + "distance": 611.247, + "driving_side": "right", + "weight": 157.476, + "mode": "driving", + "geometry": "mbuf|Ay__oCqE[sCeEwECuOMaHIkPy@kNqAwDg@eb@sFkEo@wBWmB[_LkBqEy@sEm@uOyB{Gi@wFYoJ[qIWM?}m@m@uEOmDCgJEg[]cC@{HGcA?uE@}DA" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Stephenson" + } + ], + "type": "turn", + "modifier": "left", + "text": "Rue Stephenson" + }, + "distanceAlongGeometry": 306.286 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "In a quarter mile, Turn left onto Rue Stephenson.", + "announcement": "In a quarter mile, Turn left onto Rue Stephenson.", + "distanceAlongGeometry": 296.286 + }, + { + "ssmlAnnouncement": "Turn left onto Rue Stephenson.", + "announcement": "Turn left onto Rue Stephenson.", + "distanceAlongGeometry": 50 + } + ], + "intersections": [ + { + "entry": [ + true, + true, + false, + true + ], + "in": 2, + "bearings": [ + 1, + 113, + 180, + 293 + ], + "duration": 4.954, + "turn_weight": 5, + "turn_duration": 2.254, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 8.172, + "geometry_index": 176, + "location": [ + 2.359979, + 48.890235 + ] + }, + { + "entry": [ + false, + false, + true, + false + ], + "in": 0, + "bearings": [ + 113, + 179, + 271, + 359 + ], + "duration": 0.584, + "turn_weight": 1, + "turn_duration": 0.104, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "weight": 1.564, + "geometry_index": 177, + "location": [ + 2.359872, + 48.890265 + ] + }, + { + "entry": [ + false, + true, + true, + false + ], + "in": 0, + "bearings": [ + 91, + 179, + 272, + 359 + ], + "duration": 1.407, + "turn_weight": 7.8, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "weight": 9.445, + "geometry_index": 178, + "location": [ + 2.359811, + 48.890266 + ] + }, + { + "entry": [ + false, + false, + true, + false + ], + "in": 0, + "bearings": [ + 92, + 175, + 271, + 355 + ], + "duration": 18.421, + "turn_weight": 1, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "weight": 22.62, + "geometry_index": 179, + "location": [ + 2.359714, + 48.890268 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 8, + 92, + 189, + 271 + ], + "duration": 2.221, + "turn_weight": 1, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 3.585, + "geometry_index": 182, + "location": [ + 2.358454, + 48.890288 + ] + }, + { + "entry": [ + false, + true, + true + ], + "in": 0, + "bearings": [ + 91, + 183, + 273 + ], + "duration": 1.507, + "turn_weight": 0.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "weight": 2.262, + "geometry_index": 183, + "location": [ + 2.358308, + 48.89029 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 1, + 93, + 183, + 274 + ], + "duration": 3.158, + "turn_weight": 1, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 4.701, + "geometry_index": 184, + "location": [ + 2.358166, + 48.890295 + ] + }, + { + "entry": [ + false, + true + ], + "in": 0, + "bearings": [ + 94, + 272 + ], + "duration": 12.825, + "turn_weight": 0.5, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 15.569, + "geometry_index": 185, + "location": [ + 2.357877, + 48.890308 + ] + }, + { + "entry": [ + false, + true + ], + "in": 0, + "bearings": [ + 92, + 280 + ], + "duration": 3.913, + "turn_weight": 0.5, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 5.098, + "geometry_index": 186, + "location": [ + 2.356315, + 48.890352 + ] + }, + { + "bearings": [ + 1, + 100, + 182, + 280 + ], + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "geometry_index": 188, + "location": [ + 2.355975, + 48.89039 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn left onto Rue Ordener.", + "modifier": "left", + "bearing_after": 293, + "bearing_before": 0, + "location": [ + 2.359979, + 48.890235 + ] + }, + "name": "Rue Ordener", + "weight_typical": 76.224, + "duration_typical": 50.875, + "duration": 50.875, + "distance": 306.286, + "driving_side": "right", + "weight": 76.224, + "mode": "driving", + "geometry": "uv_g|Aui`oC{@tEAxBC`E?rBQnb@Urf@CbHIzGY`QwAr`BElAeAxQe@`I" + }, + { + "bannerInstructions": [ + { + "sub": { + "components": [ + { + "type": "text", + "text": "Rue Affre" + } + ], + "type": "turn", + "modifier": "right", + "text": "Rue Affre" + }, + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Cavé" + } + ], + "type": "turn", + "modifier": "right", + "text": "Rue Cavé" + }, + "distanceAlongGeometry": 406.669 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "In a quarter mile, Turn right onto Rue Cavé.", + "announcement": "In a quarter mile, Turn right onto Rue Cavé.", + "distanceAlongGeometry": 396.669 + }, + { + "ssmlAnnouncement": "Turn right onto Rue Cavé. Then Turn right onto Rue Affre.", + "announcement": "Turn right onto Rue Cavé. Then Turn right onto Rue Affre.", + "distanceAlongGeometry": 60.833 + } + ], + "intersections": [ + { + "mapbox_streets_v8": { + "class": "street" + }, + "location": [ + 2.355814, + 48.890409 + ], + "geometry_index": 189, + "admin_index": 0, + "weight": 17.488, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 8.792, + "turn_weight": 15, + "duration": 10.909, + "bearings": [ + 100, + 173, + 286 + ], + "out": 1, + "in": 0, + "entry": [ + false, + true, + true + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 92, + 175, + 277, + 353 + ], + "duration": 0.855, + "turn_weight": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 2.995, + "geometry_index": 190, + "location": [ + 2.355831, + 48.890321 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 104, + 176, + 284, + 355 + ], + "duration": 26.266, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 32.854, + "geometry_index": 191, + "location": [ + 2.355836, + 48.890282 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 89, + 172, + 265, + 356 + ], + "duration": 1.083, + "turn_weight": 2, + "turn_duration": 0.024, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 3.271, + "geometry_index": 192, + "location": [ + 2.355945, + 48.889171 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 86, + 172, + 266, + 352 + ], + "duration": 8.689, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 12.419, + "geometry_index": 193, + "location": [ + 2.355954, + 48.88913 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 76, + 173, + 258, + 350 + ], + "duration": 1.49, + "turn_weight": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 3.779, + "geometry_index": 195, + "location": [ + 2.356041, + 48.888765 + ] + }, + { + "mapbox_streets_v8": { + "class": "street" + }, + "location": [ + 2.356053, + 48.888703 + ], + "geometry_index": 196, + "admin_index": 0, + "weight": 4.016, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.022, + "turn_weight": 2, + "duration": 3.702, + "bearings": [ + 83, + 171, + 263, + 353 + ], + "out": 1, + "in": 3, + "entry": [ + true, + true, + true, + false + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 83, + 172, + 265, + 351 + ], + "duration": 15.607, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 20.33, + "geometry_index": 197, + "location": [ + 2.356068, + 48.888641 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 94, + 172, + 275, + 352 + ], + "duration": 1.447, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 3.692, + "geometry_index": 198, + "location": [ + 2.356192, + 48.88806 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 172, + 266, + 352 + ], + "duration": 9.367, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 11.998, + "geometry_index": 199, + "location": [ + 2.356203, + 48.888006 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 92, + 173, + 270, + 352 + ], + "duration": 1.447, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 3.692, + "geometry_index": 200, + "location": [ + 2.35632, + 48.88743 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 172, + 263, + 353 + ], + "duration": 1.603, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.861, + "geometry_index": 201, + "location": [ + 2.356338, + 48.887337 + ] + }, + { + "bearings": [ + 77, + 172, + 259, + 352 + ], + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "geometry_index": 202, + "location": [ + 2.356359, + 48.88724 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn left onto Rue Stephenson.", + "modifier": "left", + "bearing_after": 173, + "bearing_before": 280, + "location": [ + 2.355814, + 48.890409 + ] + }, + "name": "Rue Stephenson", + "weight_typical": 130.024, + "duration_typical": 89.818, + "duration": 89.818, + "distance": 406.669, + "driving_side": "right", + "weight": 130.024, + "mode": "driving", + "geometry": "qa`g|AkexnCnDa@lAIldAyEpAQfOuBpEw@zBWzB]hc@wFjBU~b@iFxDc@`Ei@p[iE" + }, + { + "bannerInstructions": [ + { + "sub": { + "components": [ + { + "type": "text", + "text": "Rue Myrha" + } + ], + "type": "turn", + "modifier": "left", + "text": "Rue Myrha" + }, + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Affre" + } + ], + "type": "turn", + "modifier": "right", + "text": "Rue Affre" + }, + "distanceAlongGeometry": 66.655 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Turn right onto Rue Affre. Then Turn left onto Rue Myrha.", + "announcement": "Turn right onto Rue Affre. Then Turn left onto Rue Myrha.", + "distanceAlongGeometry": 60.833 + } + ], + "intersections": [ + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 175, + 266, + 352 + ], + "duration": 4.229, + "turn_weight": 7, + "turn_duration": 2.535, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 8.991, + "geometry_index": 203, + "location": [ + 2.35646, + 48.886783 + ] + }, + { + "entry": [ + false, + false, + true, + false + ], + "in": 0, + "bearings": [ + 86, + 173, + 268, + 353 + ], + "duration": 11.231, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "weight": 15.188, + "geometry_index": 204, + "location": [ + 2.356355, + 48.886778 + ] + }, + { + "bearings": [ + 88, + 175, + 268, + 353 + ], + "entry": [ + false, + false, + true, + false + ], + "in": 0, + "turn_weight": 2, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "geometry_index": 205, + "location": [ + 2.355626, + 48.886765 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn right onto Rue Cavé.", + "modifier": "right", + "bearing_after": 266, + "bearing_before": 172, + "location": [ + 2.35646, + 48.886783 + ] + }, + "name": "Rue Cavé", + "weight_typical": 27.671, + "duration_typical": 16.751, + "duration": 16.751, + "distance": 66.655, + "driving_side": "right", + "weight": 27.671, + "mode": "driving", + "geometry": "}~xf|AwmynCHpEXpl@BvC" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Myrha" + } + ], + "type": "turn", + "modifier": "left", + "text": "Rue Myrha" + }, + "distanceAlongGeometry": 57.674 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Turn left onto Rue Myrha.", + "announcement": "Turn left onto Rue Myrha.", + "distanceAlongGeometry": 50 + } + ], + "intersections": [ + { + "entry": [ + false, + true, + false, + true + ], + "in": 0, + "bearings": [ + 88, + 176, + 267, + 351 + ], + "duration": 2.875, + "turn_weight": 7, + "turn_duration": 1.392, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 8.742, + "geometry_index": 206, + "location": [ + 2.35555, + 48.886763 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 83, + 171, + 263, + 353 + ], + "duration": 9.326, + "turn_weight": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 12.948, + "geometry_index": 207, + "location": [ + 2.355536, + 48.886822 + ] + }, + { + "bearings": [ + 79, + 173, + 258, + 355 + ], + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "turn_weight": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "geometry_index": 208, + "location": [ + 2.35546, + 48.887216 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn right onto Rue Affre.", + "modifier": "right", + "bearing_after": 351, + "bearing_before": 268, + "location": [ + 2.35555, + 48.886763 + ] + }, + "name": "Rue Affre", + "weight_typical": 25.432, + "duration_typical": 13.691, + "duration": 13.691, + "distance": 57.674, + "driving_side": "right", + "weight": 25.432, + "mode": "driving", + "geometry": "u}xf|A{twnCuBZsWvCyBN" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Your destination will be on the right" + } + ], + "type": "arrive", + "modifier": "right", + "text": "Your destination will be on the right" + }, + "distanceAlongGeometry": 95.699 + }, + { + "primary": { + "components": [ + { + "type": "text", + "text": "Your destination is on the right" + } + ], + "type": "arrive", + "modifier": "right", + "text": "Your destination is on the right" + }, + "distanceAlongGeometry": 34.722 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "In 300 feet, Your destination will be on the right.", + "announcement": "In 300 feet, Your destination will be on the right.", + "distanceAlongGeometry": 87.366 + }, + { + "ssmlAnnouncement": "Your destination is on the right.", + "announcement": "Your destination is on the right.", + "distanceAlongGeometry": 34.722 + } + ], + "intersections": [ + { + "entry": [ + true, + false, + true + ], + "in": 1, + "bearings": [ + 84, + 175, + 265 + ], + "duration": 7.031, + "turn_weight": 10, + "turn_duration": 5.395, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "weight": 11.923, + "geometry_index": 209, + "location": [ + 2.355452, + 48.887277 + ] + }, + { + "bearings": [ + 85, + 172, + 263, + 351 + ], + "entry": [ + false, + false, + true, + false + ], + "in": 0, + "turn_weight": 2, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "geometry_index": 210, + "location": [ + 2.355383, + 48.887273 + ] + } + ], + "maneuver": { + "type": "end of road", + "instruction": "Turn left onto Rue Myrha.", + "modifier": "left", + "bearing_after": 265, + "bearing_before": 355, + "location": [ + 2.355452, + 48.887277 + ] + }, + "name": "Rue Myrha", + "weight_typical": 48.774, + "duration_typical": 36.711, + "duration": 36.711, + "distance": 95.699, + "driving_side": "right", + "weight": 48.774, + "mode": "driving", + "geometry": "y}yf|AwnwnCFhCbExkA" + }, + { + "bannerInstructions": [], + "voiceInstructions": [], + "intersections": [ + { + "bearings": [ + 83 + ], + "entry": [ + true + ], + "in": 0, + "admin_index": 0, + "geometry_index": 211, + "location": [ + 2.354154, + 48.887175 + ] + } + ], + "maneuver": { + "type": "arrive", + "instruction": "Your destination is on the right.", + "modifier": "right", + "bearing_after": 0, + "bearing_before": 263, + "location": [ + 2.354154, + 48.887175 + ] + }, + "name": "Rue Myrha", + "weight_typical": 0, + "duration_typical": 0, + "duration": 0, + "distance": 0, + "driving_side": "right", + "weight": 0, + "mode": "driving", + "geometry": "mwyf|As}tnC??" + } + ], + "distance": 4417.643, + "summary": "Rue Halévy, Rue du Faubourg Saint-Denis" + } + ], + "geometry": "}fye|AmuhmCuBeTACYaDCSm@uGk@sGaAsJ[{HsJ|CsHhCsFrB}GcCCA{By@qEwAwRyG_McEkKcDaKsDcKiDoKeD}H_NoHkGsAwDsM}t@cLaq@aAwFgAqGwJsl@w@{EgFs[_D{RUyAoB}LwBsMmG_]y@{EoAeHcKom@{@uFqAwI_DyQiA{GiFuZ[eByD_Uu@aEK}@mA_Hu@aEeAgGiEgVkBqKwJcl@]wBsBgLkFwYe@kC_ByIc@_CaCiNmBgLkH}e@uD}TgHqb@kA}GiDqSg@yC_BuJ_F_YsAeJoEcXw@sEeAoGyIkh@sJqk@cByJsAmIoFw[iCsOaHya@sJuk@OmAYuAQgAwC}P{@_F}EoYeAgGEWkPs`AeG{]Y_BMu@UyAUkA_A_GsBuM[eAsFo]kB}KkGc`@eBuKqAuGaFc\\iGc_@aByKuCu@}HcDmD}AmMqF_f@oSqD{AgQiHkKsEgGeCmEmBwEkBwCyAkNyGcF_CsImEyAs@ib@ySgJiFiCwAqEiBuC[cQmBcXqCsS}BeBsBUE{Ai@k@IaAGkAGiA@aB?cG?sBDqA?kBBiFFaBfCqE[sCeEwECuOMaHIkPy@kNqAwDg@eb@sFkEo@wBWmB[_LkBqEy@sEm@uOyB{Gi@wFYoJ[qIWM?}m@m@uEOmDCgJEg[]cC@{HGcA?uE@}DA{@tEAxBC`E?rBQnb@Urf@CbHIzGY`QwAr`BElAeAxQe@`InDa@lAIldAyEpAQfOuBpEw@zBWzB]hc@wFjBU~b@iFxDc@`Ei@p[iEHpEXpl@BvCuBZsWvCyBNFhCbExkA", + "voiceLocale": "en-US", + "refresh_ttl": 21600 + }, + { + "weight_typical": 1373.365, + "duration_typical": 1019.878, + "weight_name": "auto", + "weight": 1385.677, + "duration": 1030.356, + "distance": 4231.655, + "legs": [ + { + "via_waypoints": [], + "admins": [ + { + "iso_3166_1_alpha3": "FRA", + "iso_3166_1": "FR" + } + ], + "incidents": [ + { + "id": "4339468195765939", + "type": "construction", + "creation_time": "2023-10-26T08:10:29Z", + "start_time": "2022-10-07T09:20:54Z", + "end_time": "2024-03-31T13:00:00Z", + "iso_3166_1_alpha2": "FR", + "iso_3166_1_alpha3": "FRA", + "description": "Rue Halévy: construction de Place Jacques Rouché à Boulevard Haussmann", + "long_description": "Construction sur Rue Halévy Direction ouest de Rue Meyerbeer / Rue De La Chaussée-D'Antin à Rue Halévy / Place Jacques Rouché.", + "impact": "minor", + "alertc_codes": [ + 701 + ], + "traffic_codes": { + "incident_primary_code": 701 + }, + "lanes_blocked": [], + "length": 92, + "south": 48.872207, + "west": 2.332803, + "north": 48.872951, + "east": 2.333301, + "congestion": { + "value": 101 + }, + "geometry_index_start": 18, + "geometry_index_end": 22, + "affected_road_names": [ + "Rue Halévy" + ], + "affected_road_names_fr": [ + "Rue Halévy" + ] + }, + { + "id": "10325232981504633", + "type": "construction", + "creation_time": "2023-10-26T08:10:29Z", + "start_time": "2022-10-07T09:20:54Z", + "end_time": "2024-02-28T14:00:00Z", + "iso_3166_1_alpha2": "FR", + "iso_3166_1_alpha3": "FRA", + "description": "Rue La Fayette: construction de Rue Laffitte à Rue Le Peletier", + "long_description": "Construction sur Rue La Fayette Direction est de Rue Laffitte / Rue De Provence à Rue Le Peletier / Rue De Provence.", + "impact": "minor", + "alertc_codes": [ + 701 + ], + "traffic_codes": { + "incident_primary_code": 701 + }, + "lanes_blocked": [], + "length": 71, + "south": 48.874362, + "west": 2.33816, + "north": 48.874595, + "east": 2.339051, + "congestion": { + "value": 101 + }, + "geometry_index_start": 37, + "geometry_index_end": 39, + "affected_road_names": [ + "Rue La Fayette" + ], + "affected_road_names_fr": [ + "Rue La Fayette" + ] + } + ], + "annotation": { + "congestion_numeric": [ + 9, + 9, + 9, + 9, + 9, + 33, + 33, + 33, + 0, + 0, + 0, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + 17, + 17, + 17, + 17, + 6, + 6, + 6, + 0, + 0, + 0, + 0, + 17, + 17, + 6, + 6, + 6, + 6, + 6, + 6, + 1, + 11, + 11, + 11, + 9, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 0, + 0, + 0, + 4, + 4, + null, + null, + null, + null, + null, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + 9, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 1, + 1, + 1, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ], + "freeflow_speed": [ + 9, + 9, + 9, + 9, + 9, + 33, + 33, + 33, + 0, + 0, + 0, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + 17, + 17, + 17, + 17, + 6, + 6, + 6, + 0, + 0, + 0, + 0, + 17, + 17, + 6, + 6, + 6, + 6, + 6, + 6, + 1, + 11, + 11, + 11, + 9, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 0, + 0, + 0, + 4, + 4, + null, + null, + null, + null, + null, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + 9, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 1, + 1, + 1, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ], + "current_speed": [ + 9, + 9, + 9, + 9, + 9, + 33, + 33, + 33, + 0, + 0, + 0, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + 17, + 17, + 17, + 17, + 6, + 6, + 6, + 0, + 0, + 0, + 0, + 17, + 17, + 6, + 6, + 6, + 6, + 6, + 6, + 1, + 11, + 11, + 11, + 9, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 0, + 0, + 0, + 4, + 4, + null, + null, + null, + null, + null, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + 9, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 1, + 1, + 1, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ], + "speed": [ + 3.9, + 4.1, + 4.1, + 3, + 4.1, + 3.3, + 3.3, + 3.3, + 4.8, + 4.7, + 4.7, + 4.9, + 4.9, + 4.9, + 4.9, + 5, + 5, + 5, + 3.1, + 3, + 3, + 3, + 4.4, + 4.4, + 4.5, + 4.5, + 4.4, + 6.8, + 7, + 6.7, + 4.4, + 4.4, + 4.4, + 4.4, + 4, + 3.9, + 3.7, + 4.3, + 4.4, + 4.3, + 4.6, + 3.9, + 4, + 4.4, + 4.4, + 4.4, + 4.5, + 4.5, + 4.6, + 4.3, + 5.2, + 5.1, + 5, + 5.5, + 4.1, + 4.1, + 4.2, + 4.5, + 4.5, + 4.5, + 4.5, + 3.2, + 3.5, + 3.2, + 3.3, + 3.3, + 3.3, + 3.3, + 2.6, + 2.8, + 2.8, + 2.8, + 3, + 3.1, + 3.1, + 3.1, + 4.3, + 4.1, + 4, + 4.2, + 4.2, + 4.2, + 4.1, + 4.4, + 4.2, + 4.2, + 4.2, + 4, + 5, + 5, + 5, + 4.9, + 3.9, + 3.9, + 3.9, + 4.6, + 4.7, + 4.4, + 3.4, + 3.6, + 3.6, + 3.6, + 3.6, + 3.6, + 3.6, + 3.6, + 5.1, + 5, + 5, + 4.4, + 4.3, + 4.5, + 4.3, + 4.5, + 4.5, + 4.3, + 4.6, + 4.4, + 4.4, + 4.8, + 4.8, + 4.7, + 4.7, + 4.5, + 5.6, + 5.6, + 5.5, + 5.5, + 5.5, + 5.5, + 5.6, + 5.5, + 5.7, + 4.3, + 4.5, + 4.5, + 4.5, + 4.6, + 5.2, + 6.5, + 5.3, + 5.3, + 5.3, + 5.6, + 4.7, + 4.7, + 4.5, + 4.8, + 5.3, + 5.3, + 5.3, + 4.9, + 4.7, + 4.7, + 4.7, + 4.8, + 3.7, + 3.6, + 3.6, + 3.9, + 6.5, + 6.4, + 6.6, + 7.5, + 7.3, + 4.7, + 4.7, + 4.7, + 4.7, + 4.7, + 4.7, + 5.1, + 4.7, + 4.4, + 4.7, + 4.7, + 4.7, + 4.2, + 4.2, + 4.2, + 6.9, + 7.2, + 6.9, + 7, + 4.5, + 4.8, + 4.4, + 4.5, + 4.7, + 4.6, + 3.1, + 3.1 + ], + "distance": [ + 25.7, + 0.2, + 6.1, + 0.8, + 10.4, + 10.4, + 14.2, + 11.6, + 21.5, + 17.9, + 14.2, + 16.7, + 0.2, + 7.2, + 12.1, + 36.7, + 25.9, + 22.9, + 22.5, + 22.4, + 23.1, + 25, + 19.5, + 8.2, + 68.4, + 63.1, + 9.8, + 10.8, + 57.4, + 8.6, + 36, + 24.9, + 3.5, + 17.5, + 18.4, + 38.2, + 8.7, + 11.6, + 58.6, + 9.6, + 13.4, + 23.8, + 11.2, + 34.9, + 4.1, + 27.7, + 7.8, + 2.3, + 11.4, + 7.7, + 10.5, + 29.4, + 15.9, + 56.9, + 4.7, + 16.8, + 34, + 5.5, + 13.7, + 5.1, + 19.4, + 5.8, + 2.1, + 6.6, + 24.9, + 47.2, + 2.8, + 3.1, + 6.6, + 46.8, + 30.4, + 9.1, + 8.7, + 74.3, + 15.2, + 17.1, + 12.4, + 32.6, + 5.7, + 6.1, + 9.7, + 57.3, + 34.5, + 6.3, + 7, + 17.7, + 24.3, + 8.7, + 27.3, + 18, + 29.9, + 5.9, + 25.7, + 84.4, + 14.1, + 7.9, + 37.8, + 5.6, + 73.5, + 5.4, + 5.8, + 4.8, + 3.4, + 4.1, + 3.4, + 8.7, + 8.2, + 152.8, + 18.9, + 12.9, + 14.5, + 13.1, + 11.5, + 6.1, + 3.2, + 5.1, + 7.2, + 4.7, + 17.1, + 18.1, + 35.4, + 23.7, + 13, + 27.2, + 11.6, + 3.6, + 3, + 0.5, + 2.4, + 19.7, + 43.9, + 15.7, + 14.5, + 14.6, + 45.2, + 9.1, + 10.6, + 16.7, + 15.7, + 2.5, + 24.2, + 10.9, + 42.8, + 8.4, + 11.1, + 107.3, + 6.7, + 14.1, + 25.1, + 64.1, + 11.1, + 11.4, + 49.8, + 20.3, + 15.3, + 22.2, + 19.5, + 30.4, + 97.2, + 6.4, + 9.2, + 104.5, + 8.3, + 90, + 9.8, + 36.7, + 7.7, + 2.5, + 11, + 39.6, + 9.8, + 4.4, + 123.9, + 4.6, + 29.3, + 11.9, + 6.9, + 7, + 65.3, + 6.1, + 64.7, + 10.4, + 10.9, + 51.4, + 7.7, + 53.4, + 5.6, + 6.6, + 44.2, + 6.9, + 5, + 90.7 + ], + "duration": [ + 6.608, + 0.053, + 1.498, + 0.257, + 2.571, + 5.111, + 4.211, + 3.485, + 10.377, + 3.78, + 3.004, + 3.467, + 0.069, + 1.475, + 2.477, + 7.4, + 5.2, + 4.619, + 7.207, + 7.448, + 7.627, + 8.23, + 4.487, + 1.861, + 15.345, + 14.182, + 2.257, + 1.591, + 8.215, + 1.303, + 8.11, + 5.622, + 0.798, + 3.934, + 4.635, + 9.791, + 2.322, + 2.707, + 13.282, + 2.25, + 2.944, + 6.194, + 2.836, + 7.871, + 0.91, + 6.307, + 1.729, + 0.528, + 2.494, + 1.807, + 2.008, + 5.807, + 3.207, + 12.267, + 1.16, + 4.126, + 8.167, + 1.236, + 3.044, + 1.128, + 4.283, + 4.269, + 0.607, + 2.1, + 7.466, + 14.142, + 0.888, + 0.94, + 2.544, + 16.958, + 10.807, + 3.259, + 2.953, + 24.237, + 4.917, + 5.579, + 4.889, + 7.939, + 1.459, + 3.462, + 2.338, + 13.752, + 8.419, + 1.462, + 1.689, + 4.277, + 5.827, + 2.179, + 5.449, + 3.587, + 5.972, + 1.209, + 6.646, + 21.666, + 3.607, + 3.707, + 8.08, + 1.279, + 21.919, + 1.507, + 1.914, + 1.321, + 0.953, + 1.102, + 0.958, + 2.385, + 4.293, + 30.612, + 3.808, + 10.077, + 3.375, + 4.937, + 2.719, + 1.35, + 0.741, + 1.2, + 1.594, + 1.066, + 3.884, + 3.831, + 7.431, + 5.082, + 2.76, + 8.096, + 4.084, + 0.635, + 0.569, + 0.102, + 0.428, + 3.6, + 7.92, + 2.88, + 2.539, + 5.394, + 10.144, + 2.046, + 2.337, + 3.619, + 5.051, + 0.4, + 4.61, + 2.069, + 8.107, + 1.536, + 4.336, + 22.666, + 1.491, + 2.987, + 6.757, + 12.133, + 2.092, + 4.35, + 10.521, + 4.271, + 3.215, + 4.666, + 11.262, + 8.461, + 26.992, + 1.668, + 3.416, + 16.457, + 1.26, + 12.008, + 1.342, + 7.824, + 1.631, + 0.517, + 2.36, + 8.447, + 4.694, + 0.855, + 26.266, + 1.083, + 6.184, + 2.505, + 1.49, + 3.702, + 15.607, + 1.447, + 9.367, + 1.447, + 1.603, + 7.351, + 4.229, + 11.231, + 1.291, + 2.875, + 9.326, + 1.49, + 7.031, + 29.68 + ] + }, + "weight_typical": 1373.365, + "duration_typical": 1019.878, + "weight": 1385.677, + "duration": 1030.356, + "steps": [ + { + "bannerInstructions": [ + { + "sub": { + "components": [ + { + "active": false, + "directions": [ + "left" + ], + "type": "lane", + "text": "" + }, + { + "active_direction": "left", + "active": true, + "directions": [ + "left", + "straight" + ], + "type": "lane", + "text": "" + }, + { + "active": false, + "directions": [ + "straight" + ], + "type": "lane", + "text": "" + }, + { + "active": false, + "directions": [ + "straight" + ], + "type": "lane", + "text": "" + } + ], + "text": "" + }, + "primary": { + "components": [ + { + "type": "text", + "text": "Place de l'Opéra" + } + ], + "type": "turn", + "modifier": "left", + "text": "Place de l'Opéra" + }, + "distanceAlongGeometry": 79.425 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Drive east on Boulevard des Capucines. Then Turn left onto Place de l'Opéra.", + "announcement": "Drive east on Boulevard des Capucines. Then Turn left onto Place de l'Opéra.", + "distanceAlongGeometry": 79.425 + } + ], + "intersections": [ + { + "entry": [ + true + ], + "bearings": [ + 75 + ], + "duration": 6.608, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.765, + "geometry_index": 0, + "location": [ + 2.331495, + 48.870527 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 76, + 166, + 255, + 346 + ], + "duration": 1.55, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.813, + "geometry_index": 1, + "location": [ + 2.331834, + 48.870586 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 73, + 256 + ], + "duration": 0.257, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 0.302, + "geometry_index": 3, + "location": [ + 2.331917, + 48.8706 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 76, + 253 + ], + "duration": 2.571, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.021, + "geometry_index": 4, + "location": [ + 2.331927, + 48.870602 + ] + }, + { + "bearings": [ + 76, + 165, + 256, + 344 + ], + "entry": [ + true, + true, + false, + false + ], + "in": 2, + "turn_weight": 1.5, + "turn_duration": 2.007, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 5, + "location": [ + 2.332066, + 48.870625 + ] + } + ], + "maneuver": { + "type": "depart", + "instruction": "Drive east on Boulevard des Capucines.", + "bearing_after": 75, + "bearing_before": 0, + "location": [ + 2.331495, + 48.870527 + ] + }, + "name": "Boulevard des Capucines", + "weight_typical": 24.814, + "duration_typical": 21.856, + "duration": 23.794, + "distance": 79.425, + "driving_side": "right", + "weight": 27.091, + "mode": "driving", + "geometry": "}fye|AmuhmCuBeTACYaDCSm@uGk@sGaAsJ[{H" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Halévy" + } + ], + "type": "turn", + "modifier": "slight right", + "text": "Rue Halévy" + }, + "distanceAlongGeometry": 53.6 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Bear right onto Rue Halévy.", + "announcement": "Bear right onto Rue Halévy.", + "distanceAlongGeometry": 43.6 + } + ], + "intersections": [ + { + "lanes": [ + { + "indications": [ + "left" + ], + "valid": false, + "active": false + }, + { + "indications": [ + "left", + "straight" + ], + "valid_indication": "left", + "valid": true, + "active": true + }, + { + "indications": [ + "straight" + ], + "valid": false, + "active": false + }, + { + "indications": [ + "straight" + ], + "valid": false, + "active": false + } + ], + "location": [ + 2.332548, + 48.870694 + ], + "geometry_index": 8, + "admin_index": 0, + "weight": 20.225, + "is_urban": true, + "mapbox_streets_v8": { + "class": "secondary" + }, + "turn_duration": 5.93, + "turn_weight": 15, + "duration": 10.377, + "bearings": [ + 80, + 165, + 259, + 344 + ], + "out": 3, + "in": 2, + "entry": [ + true, + false, + false, + true + ] + }, + { + "bearings": [ + 75, + 164, + 253, + 343 + ], + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "geometry_index": 9, + "location": [ + 2.332469, + 48.87088 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn left onto Place de l'Opéra.", + "modifier": "left", + "bearing_after": 344, + "bearing_before": 79, + "location": [ + 2.332548, + 48.870694 + ] + }, + "name": "Place de l'Opéra", + "weight_typical": 30.012, + "duration_typical": 17.863, + "duration": 17.161, + "distance": 53.6, + "driving_side": "right", + "weight": 29.188, + "mode": "driving", + "geometry": "kqye|AgwjmCsJ|CsHhCsFrB" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Cadet" + } + ], + "type": "turn", + "modifier": "slight left", + "text": "Rue Cadet" + }, + "distanceAlongGeometry": 1043.663 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Continue for a half mile.", + "announcement": "Continue for a half mile.", + "distanceAlongGeometry": 1033.663 + }, + { + "ssmlAnnouncement": "In a quarter mile, Bear left onto Rue Cadet.", + "announcement": "In a quarter mile, Bear left onto Rue Cadet.", + "distanceAlongGeometry": 402.336 + }, + { + "ssmlAnnouncement": "Bear left onto Rue Cadet.", + "announcement": "Bear left onto Rue Cadet.", + "distanceAlongGeometry": 50 + } + ], + "intersections": [ + { + "entry": [ + true, + false, + true + ], + "in": 1, + "bearings": [ + 17, + 163, + 255 + ], + "duration": 3.467, + "turn_weight": 6.5, + "turn_duration": 0.067, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 10.495, + "geometry_index": 11, + "location": [ + 2.332342, + 48.871156 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 16, + 108, + 197, + 289 + ], + "duration": 4.021, + "turn_weight": 1, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 5.7, + "geometry_index": 12, + "location": [ + 2.332408, + 48.871299 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 16, + 196 + ], + "duration": 7.4, + "turn_weight": 0.5, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 9.195, + "geometry_index": 15, + "location": [ + 2.332482, + 48.871468 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 16, + 196 + ], + "duration": 5.2, + "turn_weight": 0.5, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.61, + "geometry_index": 16, + "location": [ + 2.332623, + 48.871784 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 15, + 93, + 196, + 275 + ], + "duration": 4.619, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.405, + "geometry_index": 17, + "location": [ + 2.332721, + 48.872008 + ] + }, + { + "entry": [ + true, + true, + false, + true + ], + "in": 2, + "bearings": [ + 17, + 131, + 195, + 313 + ], + "duration": 7.207, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 9.46, + "geometry_index": 18, + "location": [ + 2.332803, + 48.872206 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 16, + 103, + 197, + 283 + ], + "duration": 15.075, + "turn_weight": 1, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 18.689, + "geometry_index": 19, + "location": [ + 2.332893, + 48.872399 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 45, + 115, + 195, + 296 + ], + "duration": 8.23, + "turn_weight": 1, + "turn_duration": 0.048, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 10.614, + "geometry_index": 21, + "location": [ + 2.333061, + 48.872793 + ] + }, + { + "entry": [ + true, + false, + true, + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 32, + 101, + 165, + 225, + 282, + 344, + 355 + ], + "duration": 6.348, + "turn_weight": 8, + "turn_duration": 0.048, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 15.402, + "geometry_index": 22, + "location": [ + 2.333301, + 48.872952 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 160, + 220, + 339 + ], + "duration": 15.345, + "turn_weight": 1, + "turn_duration": 0.045, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 18.978, + "geometry_index": 24, + "location": [ + 2.333527, + 48.873146 + ] + }, + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 1, + 68, + 248 + ], + "duration": 14.182, + "turn_weight": 0.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 17.156, + "geometry_index": 25, + "location": [ + 2.33439, + 48.87338 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 169, + 248, + 349 + ], + "duration": 2.257, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.644, + "geometry_index": 26, + "location": [ + 2.335191, + 48.87359 + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 3, + "bearings": [ + 4, + 68, + 177, + 248 + ], + "duration": 1.591, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 2.861, + "geometry_index": 27, + "location": [ + 2.335315, + 48.873623 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 69, + 168, + 248, + 348 + ], + "duration": 8.215, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 10.644, + "geometry_index": 28, + "location": [ + 2.335452, + 48.873659 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 69, + 163, + 249, + 345 + ], + "duration": 1.303, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.523, + "geometry_index": 29, + "location": [ + 2.336182, + 48.873847 + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 2, + "bearings": [ + 69, + 160, + 249, + 336 + ], + "duration": 13.732, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 17.127, + "geometry_index": 30, + "location": [ + 2.336292, + 48.873875 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 69, + 160, + 249, + 341 + ], + "duration": 4.732, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.552, + "geometry_index": 32, + "location": [ + 2.337068, + 48.874071 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 69, + 249, + 289 + ], + "duration": 4.635, + "turn_weight": 0.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 5.939, + "geometry_index": 34, + "location": [ + 2.337336, + 48.874138 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 67, + 139, + 249, + 325 + ], + "duration": 9.791, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 12.481, + "geometry_index": 35, + "location": [ + 2.33757, + 48.874198 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 6, + 68, + 187, + 247 + ], + "duration": 2.322, + "turn_weight": 1, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 3.719, + "geometry_index": 36, + "location": [ + 2.33805, + 48.874333 + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 3, + "bearings": [ + 14, + 68, + 194, + 248 + ], + "duration": 2.707, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 4.173, + "geometry_index": 37, + "location": [ + 2.33816, + 48.874362 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 8, + 68, + 189, + 248 + ], + "duration": 13.282, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 16.598, + "geometry_index": 38, + "location": [ + 2.338307, + 48.874402 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 70, + 248 + ], + "duration": 2.25, + "turn_weight": 0.5, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.144, + "geometry_index": 39, + "location": [ + 2.339051, + 48.874596 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 10, + 70, + 189, + 250 + ], + "duration": 2.944, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 4.437, + "geometry_index": 40, + "location": [ + 2.339174, + 48.874626 + ] + }, + { + "entry": [ + false, + true, + true, + false + ], + "in": 3, + "bearings": [ + 15, + 68, + 196, + 250 + ], + "duration": 6.194, + "turn_weight": 1.5, + "turn_duration": 0.022, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 8.751, + "geometry_index": 41, + "location": [ + 2.339346, + 48.874667 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 160, + 248, + 342 + ], + "duration": 2.835, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.324, + "geometry_index": 42, + "location": [ + 2.339647, + 48.874747 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 176, + 248, + 339 + ], + "duration": 8.782, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 11.311, + "geometry_index": 43, + "location": [ + 2.339789, + 48.874784 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 160, + 248, + 341 + ], + "duration": 6.307, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 8.402, + "geometry_index": 45, + "location": [ + 2.340283, + 48.874915 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 69, + 248, + 275 + ], + "duration": 2.257, + "turn_weight": 0.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.144, + "geometry_index": 46, + "location": [ + 2.340635, + 48.875008 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 163, + 249, + 336 + ], + "duration": 2.494, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.908, + "geometry_index": 48, + "location": [ + 2.340763, + 48.875041 + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 2, + "bearings": [ + 67, + 186, + 248, + 336 + ], + "duration": 1.807, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.115, + "geometry_index": 49, + "location": [ + 2.340907, + 48.87508 + ] + }, + { + "entry": [ + true, + false, + false, + true + ], + "in": 2, + "bearings": [ + 68, + 151, + 247, + 332 + ], + "duration": 2.008, + "turn_weight": 1.5, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.85, + "geometry_index": 50, + "location": [ + 2.341004, + 48.875107 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 151, + 248, + 332 + ], + "duration": 5.807, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.815, + "geometry_index": 51, + "location": [ + 2.341136, + 48.875142 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 182, + 248, + 358 + ], + "duration": 3.207, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.76, + "geometry_index": 52, + "location": [ + 2.341508, + 48.875243 + ] + }, + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.341709, + 48.875297 + ], + "geometry_index": 53, + "admin_index": 0, + "weight": 13.056, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.007, + "turn_weight": 1, + "duration": 12.267, + "bearings": [ + 27, + 68, + 208, + 248 + ], + "out": 1, + "in": 3, + "entry": [ + false, + true, + false, + false + ] + }, + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 68, + 206, + 248 + ], + "duration": 5.287, + "turn_weight": 0.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.704, + "geometry_index": 54, + "location": [ + 2.342431, + 48.875485 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 67, + 153, + 248, + 348 + ], + "duration": 8.167, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 10.588, + "geometry_index": 56, + "location": [ + 2.342703, + 48.875558 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 67, + 247, + 272 + ], + "duration": 5.408, + "turn_weight": 1, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.345, + "geometry_index": 57, + "location": [ + 2.343131, + 48.875676 + ] + }, + { + "bearings": [ + 68, + 159, + 247, + 341 + ], + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "turn_weight": 1, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 60, + "location": [ + 2.343438, + 48.875761 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Bear right onto Rue Halévy.", + "modifier": "slight right", + "bearing_after": 17, + "bearing_before": 343, + "location": [ + 2.332342, + 48.871156 + ] + }, + "name": "Rue Halévy", + "weight_typical": 311.589, + "duration_typical": 226.008, + "duration": 237.966, + "distance": 1043.663, + "driving_side": "right", + "weight": 325.64, + "mode": "driving", + "geometry": "gnze|AkjjmC}GcCCA{By@qEwAwRyG_McEkKcDaKsDcKiDoKeD}H_NoHkGsAwDsM}t@cLaq@aAwFgAqGwJsl@w@{EgFs[_D{RUyAoB}LwBsMmG_]y@{EoAeHcKom@{@uFqAwI_DyQiA{GiFuZ[eByD_Uu@aEK}@mA_Hu@aEeAgGiEgVkBqKwJcl@]wBsBgLkFwYe@kC_ByIc@_CaCiN" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Boulevard Marguerite de Rochechouart" + } + ], + "type": "turn", + "modifier": "right", + "text": "Boulevard Marguerite de Rochechouart" + }, + "distanceAlongGeometry": 858.497 + }, + { + "sub": { + "components": [ + { + "type": "text", + "text": "Boulevard Marguerite de Rochechouart" + } + ], + "type": "turn", + "modifier": "right", + "text": "Boulevard Marguerite de Rochechouart" + }, + "primary": { + "components": [ + { + "type": "text", + "text": "Boulevard Marguerite de Rochechouart" + } + ], + "type": "turn", + "modifier": "right", + "text": "Boulevard Marguerite de Rochechouart" + }, + "distanceAlongGeometry": 402.336 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Continue for a half mile.", + "announcement": "Continue for a half mile.", + "distanceAlongGeometry": 848.497 + }, + { + "ssmlAnnouncement": "In a quarter mile, Turn right onto Boulevard Marguerite de Rochechouart.", + "announcement": "In a quarter mile, Turn right onto Boulevard Marguerite de Rochechouart.", + "distanceAlongGeometry": 402.336 + }, + { + "ssmlAnnouncement": "Turn right. Then Turn right to stay on Boulevard Marguerite de Rochechouart.", + "announcement": "Turn right. Then Turn right to stay on Boulevard Marguerite de Rochechouart.", + "distanceAlongGeometry": 63.333 + } + ], + "intersections": [ + { + "mapbox_streets_v8": { + "class": "street" + }, + "location": [ + 2.343683, + 48.875826 + ], + "geometry_index": 61, + "admin_index": 0, + "weight": 7.865, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.469, + "turn_weight": 5.75, + "duration": 4.269, + "bearings": [ + 25, + 68, + 201, + 248 + ], + "out": 0, + "in": 3, + "entry": [ + true, + true, + true, + false + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 27, + 77, + 205, + 249 + ], + "duration": 0.607, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.705, + "geometry_index": 62, + "location": [ + 2.343716, + 48.875873 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 31, + 207 + ], + "duration": 2.1, + "turn_weight": 1, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.467, + "geometry_index": 63, + "location": [ + 2.343729, + 48.87589 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 32, + 83, + 211, + 272 + ], + "duration": 21.607, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 27.38, + "geometry_index": 64, + "location": [ + 2.343776, + 48.875941 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 27, + 75, + 213, + 258 + ], + "duration": 1.828, + "turn_weight": 2, + "turn_duration": 0.028, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.115, + "geometry_index": 66, + "location": [ + 2.344307, + 48.876486 + ] + }, + { + "entry": [ + true, + false, + false, + true + ], + "in": 2, + "bearings": [ + 23, + 77, + 207, + 265 + ], + "duration": 2.544, + "turn_weight": 7, + "turn_duration": 0.024, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 9.961, + "geometry_index": 68, + "location": [ + 2.344344, + 48.876533 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 13, + 62, + 203, + 242 + ], + "duration": 16.958, + "turn_weight": 2, + "turn_duration": 0.038, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 21.881, + "geometry_index": 69, + "location": [ + 2.34438, + 48.876588 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 14, + 193, + 279 + ], + "duration": 10.807, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 13.69, + "geometry_index": 70, + "location": [ + 2.344528, + 48.876997 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 13, + 100, + 194, + 279 + ], + "duration": 3.259, + "turn_weight": 2, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 5.807, + "geometry_index": 71, + "location": [ + 2.344625, + 48.877262 + ] + }, + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 14, + 108, + 193 + ], + "duration": 2.953, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.461, + "geometry_index": 72, + "location": [ + 2.344654, + 48.877342 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 12, + 104, + 194, + 284 + ], + "duration": 24.237, + "turn_weight": 2, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 30.456, + "geometry_index": 73, + "location": [ + 2.344682, + 48.877418 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 12, + 101, + 192, + 283 + ], + "duration": 4.917, + "turn_weight": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.891, + "geometry_index": 74, + "location": [ + 2.344891, + 48.878071 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 22, + 48, + 192, + 229 + ], + "duration": 5.579, + "turn_weight": 2, + "turn_duration": 0.015, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 8.676, + "geometry_index": 75, + "location": [ + 2.344934, + 48.878204 + ] + }, + { + "mapbox_streets_v8": { + "class": "street" + }, + "location": [ + 2.345023, + 48.878346 + ], + "geometry_index": 76, + "admin_index": 0, + "weight": 7.456, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.009, + "turn_weight": 4, + "duration": 4.889, + "bearings": [ + 25, + 65, + 111, + 202, + 234 + ], + "out": 0, + "in": 3, + "entry": [ + true, + false, + true, + false, + true + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 25, + 68, + 205, + 242 + ], + "duration": 7.939, + "turn_weight": 2, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 11.504, + "geometry_index": 77, + "location": [ + 2.345096, + 48.878447 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 25, + 121, + 205, + 296 + ], + "duration": 1.459, + "turn_weight": 2, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.728, + "geometry_index": 78, + "location": [ + 2.345285, + 48.878712 + ] + }, + { + "mapbox_streets_v8": { + "class": "street" + }, + "location": [ + 2.345318, + 48.878759 + ], + "geometry_index": 79, + "admin_index": 0, + "weight": 3.728, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.022, + "turn_weight": 2, + "duration": 3.462, + "bearings": [ + 22, + 111, + 205, + 289 + ], + "out": 0, + "in": 2, + "entry": [ + true, + true, + false, + false + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 27, + 96, + 202, + 283 + ], + "duration": 16.09, + "turn_weight": 2, + "turn_duration": 0.01, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 21.296, + "geometry_index": 80, + "location": [ + 2.345349, + 48.878809 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 26, + 206, + 336 + ], + "duration": 8.419, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 11.08, + "geometry_index": 82, + "location": [ + 2.345753, + 48.879349 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 23, + 107, + 206, + 284 + ], + "duration": 1.462, + "turn_weight": 2, + "turn_duration": 0.022, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.728, + "geometry_index": 83, + "location": [ + 2.345957, + 48.879629 + ] + }, + { + "entry": [ + true, + false, + false, + true + ], + "in": 2, + "bearings": [ + 27, + 96, + 203, + 287 + ], + "duration": 1.689, + "turn_weight": 2, + "turn_duration": 0.009, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.016, + "geometry_index": 84, + "location": [ + 2.34599, + 48.879681 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 23, + 99, + 207, + 282 + ], + "duration": 10.104, + "turn_weight": 2, + "turn_duration": 0.024, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 14.096, + "geometry_index": 85, + "location": [ + 2.346034, + 48.879737 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 16, + 107, + 196, + 287 + ], + "duration": 2.179, + "turn_weight": 2, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.592, + "geometry_index": 87, + "location": [ + 2.346217, + 48.880094 + ] + }, + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 17, + 103, + 196 + ], + "duration": 15.007, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 19, + "geometry_index": 88, + "location": [ + 2.346249, + 48.880169 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 8, + 99, + 185, + 282 + ], + "duration": 1.209, + "turn_weight": 2, + "turn_duration": 0.009, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.44, + "geometry_index": 91, + "location": [ + 2.346424, + 48.880832 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 4, + 101, + 188 + ], + "duration": 28.312, + "turn_weight": 1, + "turn_duration": 0.026, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 34.943, + "geometry_index": 92, + "location": [ + 2.346435, + 48.880884 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 6, + 75, + 186, + 253 + ], + "duration": 3.607, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.32, + "geometry_index": 94, + "location": [ + 2.346581, + 48.881869 + ] + }, + { + "mapbox_streets_v8": { + "class": "street" + }, + "location": [ + 2.346602, + 48.881995 + ], + "geometry_index": 95, + "admin_index": 0, + "weight": 4.033, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.013, + "turn_weight": 2, + "duration": 3.707, + "bearings": [ + 15, + 104, + 186, + 220, + 253, + 301 + ], + "out": 0, + "in": 2, + "entry": [ + true, + true, + false, + false, + true, + false + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 9, + 113, + 195, + 293 + ], + "duration": 8.08, + "turn_weight": 2, + "turn_duration": 0.033, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 11.656, + "geometry_index": 96, + "location": [ + 2.346629, + 48.882063 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 11, + 106, + 189, + 284 + ], + "duration": 1.279, + "turn_weight": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.525, + "geometry_index": 97, + "location": [ + 2.346711, + 48.882399 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 10, + 92, + 191 + ], + "duration": 21.919, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 27.28, + "geometry_index": 98, + "location": [ + 2.346725, + 48.882448 + ] + }, + { + "bearings": [ + 10, + 94, + 190, + 277 + ], + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 99, + "location": [ + 2.346898, + 48.883098 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Bear left onto Rue Cadet.", + "modifier": "slight left", + "bearing_after": 25, + "bearing_before": 68, + "location": [ + 2.343683, + 48.875826 + ] + }, + "name": "Rue Cadet", + "weight_typical": 350.769, + "duration_typical": 246.704, + "duration": 243.987, + "distance": 858.497, + "driving_side": "right", + "weight": 347.577, + "mode": "driving", + "geometry": "crcf|Aeo`nC}AaAa@YeB}A{JeJeU_Uk@e@q@c@mBgAqXgHqOaE_Dy@wCw@yg@aLiGuA{GqDiEqCqOyJ}AaAcB}@yC{B}[kToPwKgBaAoBwAeHyDcLsDuC_AuMsE_IcAwOeAgBUmMs@cn@oF{Fi@gCu@_TcDaB[sg@yI_BY" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Boulevard Marguerite de Rochechouart" + } + ], + "type": "turn", + "modifier": "right", + "text": "Boulevard Marguerite de Rochechouart" + }, + "distanceAlongGeometry": 30.249 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Turn right to stay on Boulevard Marguerite de Rochechouart.", + "announcement": "Turn right to stay on Boulevard Marguerite de Rochechouart.", + "distanceAlongGeometry": 30.249 + } + ], + "intersections": [ + { + "bearings": [ + 67, + 190, + 300 + ], + "entry": [ + true, + false, + false + ], + "in": 1, + "turn_weight": 7, + "turn_duration": 0.326, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 100, + "location": [ + 2.346911, + 48.883146 + ] + } + ], + "maneuver": { + "type": "end of road", + "instruction": "Turn right onto Boulevard Marguerite de Rochechouart.", + "modifier": "right", + "bearing_after": 67, + "bearing_before": 10, + "location": [ + 2.346911, + 48.883146 + ] + }, + "name": "Boulevard Marguerite de Rochechouart", + "weight_typical": 16.969, + "duration_typical": 8.634, + "duration": 8.634, + "distance": 30.249, + "driving_side": "right", + "weight": 16.969, + "mode": "driving", + "geometry": "s{qf|A}xfnC?}Ce@uBm@_A}@w@}@MyCd@" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Boulevard de Magenta" + } + ], + "type": "turn", + "modifier": "left", + "text": "Boulevard de Magenta" + }, + "distanceAlongGeometry": 179.891 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "In 600 feet, Turn left onto Boulevard de Magenta.", + "announcement": "In 600 feet, Turn left onto Boulevard de Magenta.", + "distanceAlongGeometry": 169.891 + }, + { + "ssmlAnnouncement": "Turn left onto Boulevard de Magenta.", + "announcement": "Turn left onto Boulevard de Magenta.", + "distanceAlongGeometry": 53.333 + } + ], + "intersections": [ + { + "mapbox_streets_v8": { + "class": "primary" + }, + "location": [ + 2.347097, + 48.883327 + ], + "geometry_index": 106, + "admin_index": 0, + "weight": 7.42, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.693, + "turn_weight": 5.5, + "duration": 4.293, + "bearings": [ + 72, + 93, + 182, + 248, + 344 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false, + false, + true + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 80, + 173, + 252, + 351 + ], + "duration": 30.612, + "turn_duration": 0.012, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 36.72, + "geometry_index": 107, + "location": [ + 2.347203, + 48.88335 + ] + }, + { + "bearings": [ + 83, + 172, + 260, + 352 + ], + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 108, + "location": [ + 2.349258, + 48.883588 + ] + } + ], + "maneuver": { + "type": "continue", + "instruction": "Turn right to stay on Boulevard Marguerite de Rochechouart.", + "modifier": "right", + "bearing_after": 72, + "bearing_before": 2, + "location": [ + 2.347097, + 48.883327 + ] + }, + "name": "Boulevard Marguerite de Rochechouart", + "weight_typical": 48.7, + "duration_typical": 38.713, + "duration": 38.713, + "distance": 179.891, + "driving_side": "right", + "weight": 48.7, + "mode": "driving", + "geometry": "}frf|AqdgnCm@sE{Mm_Ck@aO" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Ordener" + } + ], + "type": "turn", + "modifier": "right", + "text": "Rue Ordener" + }, + "distanceAlongGeometry": 886.896 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Continue for a half mile.", + "announcement": "Continue for a half mile.", + "distanceAlongGeometry": 876.896 + }, + { + "ssmlAnnouncement": "In a quarter mile, Turn right onto Rue Ordener.", + "announcement": "In a quarter mile, Turn right onto Rue Ordener.", + "distanceAlongGeometry": 402.336 + }, + { + "ssmlAnnouncement": "Turn right onto Rue Ordener.", + "announcement": "Turn right onto Rue Ordener.", + "distanceAlongGeometry": 50 + } + ], + "intersections": [ + { + "mapbox_streets_v8": { + "class": "primary" + }, + "location": [ + 2.349515, + 48.88361 + ], + "geometry_index": 109, + "admin_index": 0, + "weight": 13.51, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 7.152, + "turn_weight": 10, + "duration": 10.077, + "bearings": [ + 84, + 93, + 128, + 159, + 214, + 253, + 263, + 355 + ], + "out": 7, + "in": 6, + "entry": [ + true, + false, + false, + true, + false, + false, + false, + true + ] + }, + { + "entry": [ + false, + true + ], + "in": 0, + "bearings": [ + 175, + 353 + ], + "duration": 3.375, + "turn_weight": 5, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 9.05, + "geometry_index": 110, + "location": [ + 2.3495, + 48.883725 + ] + }, + { + "mapbox_streets_v8": { + "class": "primary" + }, + "location": [ + 2.349477, + 48.883855 + ], + "geometry_index": 111, + "admin_index": 0, + "weight": 5.51, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.012, + "turn_weight": 2, + "duration": 4.937, + "bearings": [ + 1, + 70, + 84, + 173, + 251, + 260 + ], + "out": 0, + "in": 3, + "entry": [ + true, + false, + false, + false, + false, + true + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 89, + 181, + 269 + ], + "duration": 2.719, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.24, + "geometry_index": 112, + "location": [ + 2.349479, + 48.883972 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 181 + ], + "duration": 1.35, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.62, + "geometry_index": 113, + "location": [ + 2.349482, + 48.884076 + ] + }, + { + "entry": [ + true, + false, + true + ], + "in": 1, + "bearings": [ + 0, + 181, + 260 + ], + "duration": 0.741, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 0.864, + "geometry_index": 114, + "location": [ + 2.349484, + 48.88413 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 180 + ], + "duration": 1.2, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.44, + "geometry_index": 115, + "location": [ + 2.349484, + 48.884159 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 1, + 181, + 293 + ], + "duration": 1.594, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.89, + "geometry_index": 116, + "location": [ + 2.349485, + 48.884205 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 181 + ], + "duration": 4.95, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 5.94, + "geometry_index": 117, + "location": [ + 2.349487, + 48.88427 + ] + }, + { + "entry": [ + true, + false, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 46, + 181, + 291, + 321 + ], + "duration": 3.831, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.574, + "geometry_index": 119, + "location": [ + 2.34949, + 48.884465 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 92, + 181, + 272 + ], + "duration": 7.431, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 8.894, + "geometry_index": 120, + "location": [ + 2.349494, + 48.884628 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 181 + ], + "duration": 5.082, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.099, + "geometry_index": 121, + "location": [ + 2.349504, + 48.884946 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 3, + 89, + 181, + 269 + ], + "duration": 2.76, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.304, + "geometry_index": 122, + "location": [ + 2.34951, + 48.885159 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 99, + 183 + ], + "duration": 8.096, + "turn_duration": 2.021, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.29, + "geometry_index": 123, + "location": [ + 2.349518, + 48.885275 + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 65, + 181, + 304 + ], + "duration": 4.719, + "turn_duration": 2.019, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.24, + "geometry_index": 124, + "location": [ + 2.349523, + 48.88552 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 93, + 181, + 273 + ], + "duration": 1.099, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.296, + "geometry_index": 126, + "location": [ + 2.349526, + 48.885656 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 181 + ], + "duration": 3.6, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.32, + "geometry_index": 129, + "location": [ + 2.349527, + 48.885709 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 181 + ], + "duration": 7.92, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 9.504, + "geometry_index": 130, + "location": [ + 2.34953, + 48.885886 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 181 + ], + "duration": 2.88, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.456, + "geometry_index": 131, + "location": [ + 2.349537, + 48.886281 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 90, + 181, + 270 + ], + "duration": 2.539, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.024, + "geometry_index": 132, + "location": [ + 2.349539, + 48.886422 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 79, + 181, + 259 + ], + "duration": 5.394, + "turn_duration": 2.019, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.05, + "geometry_index": 133, + "location": [ + 2.349541, + 48.886552 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 92, + 181, + 270 + ], + "duration": 10.144, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 12.15, + "geometry_index": 134, + "location": [ + 2.349544, + 48.886683 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 0, + 89, + 181, + 270 + ], + "duration": 2.046, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.43, + "geometry_index": 135, + "location": [ + 2.349551, + 48.887089 + ] + }, + { + "entry": [ + true, + false, + true + ], + "in": 1, + "bearings": [ + 1, + 180, + 270 + ], + "duration": 2.337, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.795, + "geometry_index": 136, + "location": [ + 2.349552, + 48.887171 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 1, + 181, + 221 + ], + "duration": 3.619, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.32, + "geometry_index": 137, + "location": [ + 2.349554, + 48.887266 + ] + }, + { + "mapbox_streets_v8": { + "class": "primary" + }, + "location": [ + 2.349556, + 48.887416 + ], + "geometry_index": 138, + "admin_index": 0, + "weight": 4.638, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.019, + "turn_weight": 1, + "duration": 5.051, + "bearings": [ + 1, + 77, + 181, + 275 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false, + false + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 0, + 89, + 181, + 267 + ], + "duration": 0.4, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 0.455, + "geometry_index": 139, + "location": [ + 2.349559, + 48.887557 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 1, + 180, + 322 + ], + "duration": 14.786, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 17.735, + "geometry_index": 140, + "location": [ + 2.349559, + 48.887579 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 0, + 94, + 181, + 275 + ], + "duration": 1.536, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.819, + "geometry_index": 143, + "location": [ + 2.349572, + 48.888279 + ] + }, + { + "mapbox_streets_v8": { + "class": "primary" + }, + "location": [ + 2.349573, + 48.888355 + ], + "geometry_index": 144, + "admin_index": 0, + "weight": 3.795, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.007, + "turn_weight": 1, + "duration": 4.336, + "bearings": [ + 0, + 92, + 180, + 272 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false, + true + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 0, + 92, + 180, + 273 + ], + "duration": 22.666, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 27.191, + "geometry_index": 145, + "location": [ + 2.349574, + 48.888454 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 4, + 63, + 180, + 244 + ], + "duration": 1.491, + "turn_duration": 0.009, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.779, + "geometry_index": 146, + "location": [ + 2.349585, + 48.889418 + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 55, + 184, + 245 + ], + "duration": 2.987, + "turn_duration": 0.022, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.558, + "geometry_index": 147, + "location": [ + 2.349592, + 48.889478 + ] + }, + { + "entry": [ + false, + false, + true + ], + "in": 0, + "bearings": [ + 181, + 327, + 360 + ], + "duration": 6.758, + "turn_duration": 2.021, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "weight": 5.684, + "geometry_index": 148, + "location": [ + 2.349594, + 48.889605 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 0, + 92, + 180, + 270 + ], + "duration": 12.133, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 14.552, + "geometry_index": 149, + "location": [ + 2.349593, + 48.88983 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 89, + 180, + 267 + ], + "duration": 2.092, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.501, + "geometry_index": 150, + "location": [ + 2.349594, + 48.890406 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 82, + 181, + 265, + 360 + ], + "duration": 4.35, + "turn_duration": 2.021, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 2.795, + "geometry_index": 151, + "location": [ + 2.349597, + 48.890506 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 0, + 89, + 180, + 267 + ], + "duration": 18.007, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 21.6, + "geometry_index": 152, + "location": [ + 2.349596, + 48.890608 + ] + }, + { + "bearings": [ + 0, + 92, + 180, + 270 + ], + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 155, + "location": [ + 2.349602, + 48.891375 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn left onto Boulevard de Magenta.", + "modifier": "left", + "bearing_after": 355, + "bearing_before": 83, + "location": [ + 2.349515, + 48.88361 + ] + }, + "name": "Boulevard de Magenta", + "weight_typical": 237.501, + "duration_typical": 205.698, + "duration": 205.698, + "distance": 886.896, + "driving_side": "right", + "weight": 237.501, + "mode": "driving", + "geometry": "sxrf|Au{knCeF\\cGl@iFCoEEkBCy@?{AAaCCsAAqHCeIG{RSiLKgFOiNIoEC_AAu@?I?i@AaJEuWMyGCcGCeGEkXMcDA}DCkHCyGEk@?sLGcEC_WMwCAeEAg{@UwBM}FCaM@_c@AgEEkE@_[GkJAqGAoKC" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Stephenson" + } + ], + "type": "turn", + "modifier": "right", + "text": "Rue Stephenson" + }, + "distanceAlongGeometry": 472.737 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "In a quarter mile, Turn right onto Rue Stephenson.", + "announcement": "In a quarter mile, Turn right onto Rue Stephenson.", + "distanceAlongGeometry": 462.737 + }, + { + "ssmlAnnouncement": "Turn right onto Rue Stephenson.", + "announcement": "Turn right onto Rue Stephenson.", + "distanceAlongGeometry": 50 + } + ], + "intersections": [ + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.349604, + 48.891575 + ], + "geometry_index": 156, + "admin_index": 0, + "weight": 13.314, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 6.001, + "turn_weight": 7, + "duration": 11.262, + "bearings": [ + 106, + 158, + 180, + 215, + 282, + 351 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false, + false, + true, + true + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 13, + 106, + 193, + 286 + ], + "duration": 35.453, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 43.535, + "geometry_index": 157, + "location": [ + 2.349859, + 48.891526 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 0, + 107, + 180, + 287 + ], + "duration": 1.668, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 2.994, + "geometry_index": 159, + "location": [ + 2.351531, + 48.891201 + ] + }, + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.351615, + 48.891184 + ], + "geometry_index": 160, + "admin_index": 0, + "weight": 2.69, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.007, + "turn_weight": 1, + "duration": 3.416, + "bearings": [ + 6, + 109, + 182, + 287 + ], + "out": 1, + "in": 3, + "entry": [ + true, + true, + false, + false + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 20, + 105, + 201, + 289 + ], + "duration": 16.457, + "turn_weight": 1, + "turn_duration": 0.022, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 20.722, + "geometry_index": 161, + "location": [ + 2.351733, + 48.891157 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 105, + 173, + 285, + 353 + ], + "duration": 1.26, + "turn_weight": 1, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.503, + "geometry_index": 162, + "location": [ + 2.353111, + 48.890909 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 105, + 172, + 285 + ], + "duration": 12.008, + "turn_weight": 0.5, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 14.9, + "geometry_index": 163, + "location": [ + 2.35322, + 48.89089 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 23, + 107, + 203, + 285 + ], + "duration": 1.342, + "turn_weight": 1, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 2.567, + "geometry_index": 164, + "location": [ + 2.354405, + 48.890674 + ] + }, + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 106, + 179, + 287 + ], + "duration": 9.972, + "turn_weight": 0.5, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 12.195, + "geometry_index": 165, + "location": [ + 2.354533, + 48.890649 + ] + }, + { + "bearings": [ + 15, + 107, + 196, + 286 + ], + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "geometry_index": 168, + "location": [ + 2.35515, + 48.890535 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn right onto Rue Ordener.", + "modifier": "right", + "bearing_after": 106, + "bearing_before": 0, + "location": [ + 2.349604, + 48.891575 + ] + }, + "name": "Rue Ordener", + "weight_typical": 129.109, + "duration_typical": 103.646, + "duration": 103.646, + "distance": 472.737, + "driving_side": "right", + "weight": 129.109, + "mode": "driving", + "geometry": "mjbg|AgalnC`B}NxC}WnNqnA`@gDt@kFnNcuAd@yEnLaiAp@_GpDg]d@iEJ_A|@}G|Dq_@" + }, + { + "bannerInstructions": [ + { + "sub": { + "components": [ + { + "type": "text", + "text": "Rue Affre" + } + ], + "type": "turn", + "modifier": "right", + "text": "Rue Affre" + }, + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Cavé" + } + ], + "type": "turn", + "modifier": "right", + "text": "Rue Cavé" + }, + "distanceAlongGeometry": 406.669 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "In a quarter mile, Turn right onto Rue Cavé.", + "announcement": "In a quarter mile, Turn right onto Rue Cavé.", + "distanceAlongGeometry": 396.669 + }, + { + "ssmlAnnouncement": "Turn right onto Rue Cavé. Then Turn right onto Rue Affre.", + "announcement": "Turn right onto Rue Cavé. Then Turn right onto Rue Affre.", + "distanceAlongGeometry": 60.833 + } + ], + "intersections": [ + { + "mapbox_streets_v8": { + "class": "street" + }, + "location": [ + 2.355814, + 48.890409 + ], + "geometry_index": 170, + "admin_index": 0, + "weight": 9.488, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.576, + "turn_weight": 7, + "duration": 4.694, + "bearings": [ + 100, + 173, + 285 + ], + "out": 1, + "in": 2, + "entry": [ + true, + true, + false + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 92, + 175, + 277, + 353 + ], + "duration": 0.855, + "turn_weight": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 2.995, + "geometry_index": 171, + "location": [ + 2.355831, + 48.890321 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 104, + 176, + 284, + 355 + ], + "duration": 26.266, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 32.854, + "geometry_index": 172, + "location": [ + 2.355836, + 48.890282 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 89, + 172, + 265, + 356 + ], + "duration": 1.083, + "turn_weight": 2, + "turn_duration": 0.024, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 3.271, + "geometry_index": 173, + "location": [ + 2.355945, + 48.889171 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 86, + 172, + 266, + 352 + ], + "duration": 8.689, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 12.419, + "geometry_index": 174, + "location": [ + 2.355954, + 48.88913 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 76, + 173, + 258, + 350 + ], + "duration": 1.49, + "turn_weight": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 3.779, + "geometry_index": 176, + "location": [ + 2.356041, + 48.888765 + ] + }, + { + "mapbox_streets_v8": { + "class": "street" + }, + "location": [ + 2.356053, + 48.888703 + ], + "geometry_index": 177, + "admin_index": 0, + "weight": 4.016, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.022, + "turn_weight": 2, + "duration": 3.702, + "bearings": [ + 83, + 171, + 263, + 353 + ], + "out": 1, + "in": 3, + "entry": [ + true, + true, + true, + false + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 83, + 172, + 265, + 351 + ], + "duration": 15.607, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 20.33, + "geometry_index": 178, + "location": [ + 2.356068, + 48.888641 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 94, + 172, + 275, + 352 + ], + "duration": 1.447, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 3.692, + "geometry_index": 179, + "location": [ + 2.356192, + 48.88806 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 172, + 266, + 352 + ], + "duration": 9.367, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 11.998, + "geometry_index": 180, + "location": [ + 2.356203, + 48.888006 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 92, + 173, + 270, + 352 + ], + "duration": 1.447, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 3.692, + "geometry_index": 181, + "location": [ + 2.35632, + 48.88743 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 172, + 263, + 353 + ], + "duration": 1.603, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.861, + "geometry_index": 182, + "location": [ + 2.356338, + 48.887337 + ] + }, + { + "bearings": [ + 77, + 172, + 259, + 352 + ], + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "geometry_index": 183, + "location": [ + 2.356359, + 48.88724 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn right onto Rue Stephenson.", + "modifier": "right", + "bearing_after": 173, + "bearing_before": 105, + "location": [ + 2.355814, + 48.890409 + ] + }, + "name": "Rue Stephenson", + "weight_typical": 122.024, + "duration_typical": 83.603, + "duration": 83.603, + "distance": 406.669, + "driving_side": "right", + "weight": 122.024, + "mode": "driving", + "geometry": "qa`g|AkexnCnDa@lAIldAyEpAQfOuBpEw@zBWzB]hc@wFjBU~b@iFxDc@`Ei@p[iE" + }, + { + "bannerInstructions": [ + { + "sub": { + "components": [ + { + "type": "text", + "text": "Rue Myrha" + } + ], + "type": "turn", + "modifier": "left", + "text": "Rue Myrha" + }, + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Affre" + } + ], + "type": "turn", + "modifier": "right", + "text": "Rue Affre" + }, + "distanceAlongGeometry": 66.655 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Turn right onto Rue Affre. Then Turn left onto Rue Myrha.", + "announcement": "Turn right onto Rue Affre. Then Turn left onto Rue Myrha.", + "distanceAlongGeometry": 60.833 + } + ], + "intersections": [ + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 175, + 266, + 352 + ], + "duration": 4.229, + "turn_weight": 7, + "turn_duration": 2.535, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 8.991, + "geometry_index": 184, + "location": [ + 2.35646, + 48.886783 + ] + }, + { + "entry": [ + false, + false, + true, + false + ], + "in": 0, + "bearings": [ + 86, + 173, + 268, + 353 + ], + "duration": 11.231, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "weight": 15.188, + "geometry_index": 185, + "location": [ + 2.356355, + 48.886778 + ] + }, + { + "bearings": [ + 88, + 175, + 268, + 353 + ], + "entry": [ + false, + false, + true, + false + ], + "in": 0, + "turn_weight": 2, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "geometry_index": 186, + "location": [ + 2.355626, + 48.886765 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn right onto Rue Cavé.", + "modifier": "right", + "bearing_after": 266, + "bearing_before": 172, + "location": [ + 2.35646, + 48.886783 + ] + }, + "name": "Rue Cavé", + "weight_typical": 27.671, + "duration_typical": 16.751, + "duration": 16.751, + "distance": 66.655, + "driving_side": "right", + "weight": 27.671, + "mode": "driving", + "geometry": "}~xf|AwmynCHpEXpl@BvC" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Myrha" + } + ], + "type": "turn", + "modifier": "left", + "text": "Rue Myrha" + }, + "distanceAlongGeometry": 57.674 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Turn left onto Rue Myrha.", + "announcement": "Turn left onto Rue Myrha.", + "distanceAlongGeometry": 50 + } + ], + "intersections": [ + { + "entry": [ + false, + true, + false, + true + ], + "in": 0, + "bearings": [ + 88, + 176, + 267, + 351 + ], + "duration": 2.875, + "turn_weight": 7, + "turn_duration": 1.392, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 8.742, + "geometry_index": 187, + "location": [ + 2.35555, + 48.886763 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 83, + 171, + 263, + 353 + ], + "duration": 9.326, + "turn_weight": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 12.948, + "geometry_index": 188, + "location": [ + 2.355536, + 48.886822 + ] + }, + { + "bearings": [ + 79, + 173, + 258, + 355 + ], + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "turn_weight": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "geometry_index": 189, + "location": [ + 2.35546, + 48.887216 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn right onto Rue Affre.", + "modifier": "right", + "bearing_after": 351, + "bearing_before": 268, + "location": [ + 2.35555, + 48.886763 + ] + }, + "name": "Rue Affre", + "weight_typical": 25.432, + "duration_typical": 13.691, + "duration": 13.691, + "distance": 57.674, + "driving_side": "right", + "weight": 25.432, + "mode": "driving", + "geometry": "u}xf|A{twnCuBZsWvCyBN" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Your destination will be on the right" + } + ], + "type": "arrive", + "modifier": "right", + "text": "Your destination will be on the right" + }, + "distanceAlongGeometry": 95.699 + }, + { + "primary": { + "components": [ + { + "type": "text", + "text": "Your destination is on the right" + } + ], + "type": "arrive", + "modifier": "right", + "text": "Your destination is on the right" + }, + "distanceAlongGeometry": 34.722 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "In 300 feet, Your destination will be on the right.", + "announcement": "In 300 feet, Your destination will be on the right.", + "distanceAlongGeometry": 87.366 + }, + { + "ssmlAnnouncement": "Your destination is on the right.", + "announcement": "Your destination is on the right.", + "distanceAlongGeometry": 34.722 + } + ], + "intersections": [ + { + "entry": [ + true, + false, + true + ], + "in": 1, + "bearings": [ + 84, + 175, + 265 + ], + "duration": 7.031, + "turn_weight": 10, + "turn_duration": 5.395, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "weight": 11.923, + "geometry_index": 190, + "location": [ + 2.355452, + 48.887277 + ] + }, + { + "bearings": [ + 85, + 172, + 263, + 351 + ], + "entry": [ + false, + false, + true, + false + ], + "in": 0, + "turn_weight": 2, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "geometry_index": 191, + "location": [ + 2.355383, + 48.887273 + ] + } + ], + "maneuver": { + "type": "end of road", + "instruction": "Turn left onto Rue Myrha.", + "modifier": "left", + "bearing_after": 265, + "bearing_before": 355, + "location": [ + 2.355452, + 48.887277 + ] + }, + "name": "Rue Myrha", + "weight_typical": 48.774, + "duration_typical": 36.711, + "duration": 36.711, + "distance": 95.699, + "driving_side": "right", + "weight": 48.774, + "mode": "driving", + "geometry": "y}yf|AwnwnCFhCbExkA" + }, + { + "bannerInstructions": [], + "voiceInstructions": [], + "intersections": [ + { + "bearings": [ + 83 + ], + "entry": [ + true + ], + "in": 0, + "admin_index": 0, + "geometry_index": 192, + "location": [ + 2.354154, + 48.887175 + ] + } + ], + "maneuver": { + "type": "arrive", + "instruction": "Your destination is on the right.", + "modifier": "right", + "bearing_after": 0, + "bearing_before": 263, + "location": [ + 2.354154, + 48.887175 + ] + }, + "name": "Rue Myrha", + "weight_typical": 0, + "duration_typical": 0, + "duration": 0, + "distance": 0, + "driving_side": "right", + "weight": 0, + "mode": "driving", + "geometry": "mwyf|As}tnC??" + } + ], + "distance": 4231.655, + "summary": "Rue Halévy, Boulevard de Magenta" + } + ], + "geometry": "}fye|AmuhmCuBeTACYaDCSm@uGk@sGaAsJ[{HsJ|CsHhCsFrB}GcCCA{By@qEwAwRyG_McEkKcDaKsDcKiDoKeD}H_NoHkGsAwDsM}t@cLaq@aAwFgAqGwJsl@w@{EgFs[_D{RUyAoB}LwBsMmG_]y@{EoAeHcKom@{@uFqAwI_DyQiA{GiFuZ[eByD_Uu@aEK}@mA_Hu@aEeAgGiEgVkBqKwJcl@]wBsBgLkFwYe@kC_ByIc@_CaCiN}AaAa@YeB}A{JeJeU_Uk@e@q@c@mBgAqXgHqOaE_Dy@wCw@yg@aLiGuA{GqDiEqCqOyJ}AaAcB}@yC{B}[kToPwKgBaAoBwAeHyDcLsDuC_AuMsE_IcAwOeAgBUmMs@cn@oF{Fi@gCu@_TcDaB[sg@yI_BY?}Ce@uBm@_A}@w@}@MyCd@m@sE{Mm_Ck@aOeF\\cGl@iFCoEEkBCy@?{AAaCCsAAqHCeIG{RSiLKgFOiNIoEC_AAu@?I?i@AaJEuWMyGCcGCeGEkXMcDA}DCkHCyGEk@?sLGcEC_WMwCAeEAg{@UwBM}FCaM@_c@AgEEkE@_[GkJAqGAoKC`B}NxC}WnNqnA`@gDt@kFnNcuAd@yEnLaiAp@_GpDg]d@iEJ_A|@}G|Dq_@nDa@lAIldAyEpAQfOuBpEw@zBWzB]hc@wFjBU~b@iFxDc@`Ei@p[iEHpEXpl@BvCuBZsWvCyBNFhCbExkA", + "voiceLocale": "en-US", + "refresh_ttl": 21600 + }, + { + "weight_typical": 1492.288, + "duration_typical": 1098.367, + "weight_name": "auto", + "weight": 1495.77, + "duration": 1101.263, + "distance": 4722.399, + "legs": [ + { + "via_waypoints": [], + "admins": [ + { + "iso_3166_1_alpha3": "FRA", + "iso_3166_1": "FR" + } + ], + "incidents": [ + { + "id": "5632219005356", + "type": "construction", + "creation_time": "2023-10-26T08:10:29Z", + "start_time": "2022-10-07T09:20:54Z", + "end_time": "2024-02-28T14:00:00Z", + "iso_3166_1_alpha2": "FR", + "iso_3166_1_alpha3": "FRA", + "description": "Rue Laffitte: construction de Rue Rossini à Rue De Provence", + "long_description": "Construction sur Rue Laffitte Direction nord de Rue Rossini à Rue De Provence.", + "impact": "minor", + "alertc_codes": [ + 701 + ], + "traffic_codes": { + "incident_primary_code": 701 + }, + "lanes_blocked": [], + "length": 80, + "south": 48.873405, + "west": 2.337805, + "north": 48.874103, + "east": 2.338063, + "congestion": { + "value": 101 + }, + "geometry_index_start": 35, + "geometry_index_end": 38, + "affected_road_names": [ + "Rue Laffitte" + ], + "affected_road_names_fr": [ + "Rue Laffitte" + ] + } + ], + "annotation": { + "congestion_numeric": [ + 9, + 9, + 9, + 9, + 9, + 33, + 33, + 33, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + 19, + 19, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 11, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + null, + null, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + 0, + 0, + 0, + 17, + 17, + 0, + 0, + 0, + 4, + 4, + null, + null, + null, + null, + null, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + 9, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 1, + 1, + 1, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ], + "current_speed": [ + 9, + 9, + 9, + 9, + 9, + 33, + 33, + 33, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + 19, + 19, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 11, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + null, + null, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + 0, + 0, + 0, + 17, + 17, + 0, + 0, + 0, + 4, + 4, + null, + null, + null, + null, + null, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + 9, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 1, + 1, + 1, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ], + "freeflow_speed": [ + 9, + 9, + 9, + 9, + 9, + 33, + 33, + 33, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + 19, + 19, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 11, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + null, + null, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + 0, + 0, + 0, + 17, + 17, + 0, + 0, + 0, + 4, + 4, + null, + null, + null, + null, + null, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + 9, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + null, + null, + null, + null, + 0, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + 1, + 1, + 1, + 0, + 0, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ], + "speed": [ + 3.9, + 4.1, + 4.1, + 3, + 4.1, + 3.3, + 3.3, + 3.3, + 4.4, + 4.4, + 4.4, + 4.6, + 4.4, + 4.4, + 4.2, + 5.6, + 5.8, + 5.8, + 6.3, + 5, + 5, + 5.2, + 5, + 5, + 4.9, + 3.8, + 6.3, + 4.2, + 4.2, + 4, + 4.8, + 4.7, + 4.8, + 4.9, + 5, + 4.1, + 4.2, + 4.1, + 3.9, + 3.5, + 3.7, + 4.7, + 5, + 4.8, + 4.6, + 3.9, + 4.2, + 4.3, + 5, + 5.9, + 5.9, + 5.8, + 5.8, + 4.1, + 4.7, + 4.7, + 4.7, + 4.9, + 5.3, + 5.3, + 5.9, + 5.2, + 4.1, + 4.1, + 4.1, + 4.1, + 4.1, + 4.1, + 4.1, + 4.1, + 4.1, + 4.1, + 4.1, + 4.1, + 5.4, + 4.7, + 4.7, + 4.2, + 4, + 4.3, + 4.5, + 4.5, + 4.7, + 4, + 4.1, + 4.2, + 4.2, + 3.6, + 3.7, + 3.8, + 3.9, + 3.9, + 3.8, + 3.4, + 3.4, + 3.4, + 3.4, + 3.4, + 2.4, + 2.5, + 4.9, + 5, + 5, + 5, + 5.2, + 5.1, + 5.1, + 5, + 5, + 4.9, + 4.7, + 5, + 4.9, + 5, + 5, + 4.8, + 4.8, + 4.7, + 5, + 5, + 5, + 4.3, + 4.7, + 4.7, + 4.9, + 3.5, + 3.7, + 5.1, + 5, + 5, + 4.4, + 4.3, + 4.5, + 4.3, + 4.5, + 4.5, + 4.3, + 4.6, + 4.4, + 4.4, + 4.8, + 4.8, + 4.7, + 4.7, + 4.5, + 5.6, + 5.6, + 5.5, + 5.5, + 5.5, + 5.5, + 5.6, + 5.5, + 5.7, + 4.3, + 4.5, + 4.5, + 4.5, + 4.6, + 5.2, + 6.5, + 5.3, + 5.3, + 5.3, + 5.6, + 4.7, + 4.7, + 4.5, + 4.8, + 5.3, + 5.3, + 5.3, + 4.9, + 4.7, + 4.7, + 4.7, + 4.8, + 3.7, + 3.6, + 3.6, + 3.9, + 6.5, + 6.4, + 6.6, + 7.5, + 7.3, + 4.7, + 4.7, + 4.7, + 5, + 5, + 4.7, + 5.1, + 4.7, + 4.4, + 4.7, + 4.7, + 4.7, + 4.2, + 4.2, + 4.2, + 6.9, + 7.2, + 6.9, + 7, + 4.5, + 4.8, + 4.4, + 4.5, + 4.7, + 4.6, + 3.1, + 3.1 + ], + "distance": [ + 25.7, + 0.2, + 6.1, + 0.8, + 10.4, + 10.4, + 14.2, + 11.6, + 14.2, + 3.6, + 0.2, + 14.4, + 13.8, + 64.2, + 11.1, + 8.6, + 12.8, + 14.3, + 12.3, + 12.1, + 73.9, + 9.4, + 9.7, + 42, + 11.6, + 10.8, + 6.4, + 15.3, + 73.8, + 12.6, + 12.2, + 62.3, + 6.8, + 11.8, + 25.8, + 6.9, + 33.4, + 39.8, + 5.7, + 14.6, + 9.3, + 5, + 6.4, + 65.4, + 8.7, + 6.6, + 82.1, + 9.4, + 22, + 4.5, + 4.6, + 71, + 9, + 9.9, + 10, + 6, + 135.8, + 5.2, + 34.8, + 13.6, + 1.1, + 4, + 1.3, + 2.7, + 1.7, + 3.1, + 2.7, + 3.2, + 2.6, + 2.3, + 2.5, + 2.3, + 1.8, + 1.4, + 3.5, + 15.9, + 33.1, + 12.2, + 10.7, + 12.6, + 17.5, + 138.8, + 9.5, + 6.7, + 41.8, + 11.9, + 19.1, + 37.3, + 8.2, + 8.9, + 88, + 2.5, + 15.6, + 4.5, + 5.4, + 4.1, + 4.4, + 7, + 11.8, + 10.1, + 10.8, + 68, + 47.9, + 7, + 15.5, + 10.9, + 9.3, + 35.8, + 44.1, + 10.8, + 56.2, + 9.5, + 11.8, + 129.3, + 4.3, + 2.6, + 6.1, + 3.8, + 14.2, + 14.1, + 8, + 7.6, + 77.7, + 74.5, + 11.3, + 12.8, + 13.4, + 8.1, + 152.8, + 19, + 12.8, + 14.6, + 13, + 11.6, + 6, + 3.2, + 5.2, + 7.2, + 4.7, + 17, + 18.1, + 35.5, + 23.7, + 12.9, + 27.3, + 11.5, + 3.6, + 3, + 0.6, + 2.3, + 19.7, + 44, + 15.7, + 14.5, + 14.5, + 45.2, + 9.2, + 10.6, + 16.6, + 15.7, + 2.5, + 24.3, + 10.9, + 42.7, + 8.5, + 11, + 107.3, + 6.7, + 14.2, + 25, + 64.1, + 11.2, + 11.3, + 49.9, + 20.2, + 15.3, + 22.3, + 19.4, + 30.4, + 97.2, + 6.5, + 9.1, + 104.6, + 8.2, + 90, + 9.8, + 36.8, + 7.7, + 2.4, + 11, + 39.6, + 9.9, + 4.3, + 124, + 4.6, + 29.2, + 11.9, + 7, + 7, + 65.3, + 6, + 64.7, + 10.5, + 10.9, + 51.4, + 7.7, + 53.4, + 5.5, + 6.7, + 44.2, + 6.8, + 5.1, + 90.6 + ], + "duration": [ + 6.608, + 0.053, + 1.498, + 0.257, + 2.571, + 5.111, + 4.211, + 3.485, + 3.186, + 0.816, + 0.055, + 3.176, + 3.11, + 14.44, + 2.647, + 3.562, + 2.197, + 2.432, + 3.971, + 2.408, + 14.819, + 1.807, + 1.971, + 8.436, + 2.419, + 2.836, + 3.048, + 5.193, + 17.779, + 3.127, + 4.548, + 13.136, + 1.407, + 2.407, + 5.2, + 1.699, + 7.927, + 9.6, + 1.447, + 6.176, + 2.5, + 1.066, + 1.29, + 13.772, + 1.919, + 1.704, + 19.704, + 2.167, + 7.646, + 6.963, + 0.782, + 12.178, + 1.55, + 7.172, + 2.134, + 1.271, + 28.808, + 1.066, + 6.545, + 2.557, + 0.2, + 0.779, + 0.33, + 0.661, + 0.43, + 0.731, + 0.664, + 0.787, + 0.626, + 0.558, + 0.607, + 0.557, + 0.44, + 0.342, + 0.664, + 3.384, + 6.999, + 2.889, + 2.659, + 2.949, + 3.952, + 31.155, + 2.032, + 2.129, + 10.099, + 2.863, + 4.598, + 10.281, + 2.223, + 2.321, + 22.785, + 0.634, + 4.137, + 1.499, + 1.6, + 1.211, + 1.295, + 2.077, + 4.965, + 4.024, + 4.649, + 13.613, + 9.617, + 1.405, + 3.007, + 4.22, + 1.837, + 7.261, + 8.807, + 2.207, + 11.867, + 1.914, + 2.407, + 25.95, + 0.858, + 0.545, + 1.263, + 0.807, + 2.838, + 2.783, + 1.608, + 3.807, + 16.426, + 15.769, + 2.336, + 5.626, + 3.6, + 3.609, + 30.612, + 3.808, + 10.077, + 3.375, + 4.937, + 2.719, + 1.35, + 0.741, + 1.2, + 1.594, + 1.066, + 3.884, + 3.831, + 7.431, + 5.082, + 2.76, + 8.096, + 4.084, + 0.635, + 0.569, + 0.102, + 0.428, + 3.6, + 7.92, + 2.88, + 2.539, + 5.394, + 10.144, + 2.046, + 2.337, + 3.619, + 5.051, + 0.4, + 4.61, + 2.069, + 8.107, + 1.536, + 4.336, + 22.666, + 1.491, + 2.987, + 6.757, + 12.133, + 2.092, + 4.35, + 10.521, + 4.271, + 3.215, + 4.666, + 11.262, + 8.461, + 26.992, + 1.668, + 3.416, + 16.457, + 1.26, + 12.008, + 1.342, + 7.824, + 1.631, + 0.517, + 2.229, + 7.978, + 4.694, + 0.855, + 26.266, + 1.083, + 6.184, + 2.505, + 1.49, + 3.702, + 15.607, + 1.447, + 9.367, + 1.447, + 1.603, + 7.351, + 4.229, + 11.231, + 1.291, + 2.875, + 9.326, + 1.49, + 7.031, + 29.68 + ] + }, + "weight_typical": 1492.288, + "duration_typical": 1098.367, + "weight": 1495.77, + "duration": 1101.263, + "steps": [ + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Laffitte" + } + ], + "type": "turn", + "modifier": "left", + "text": "Rue Laffitte" + }, + "distanceAlongGeometry": 424.799 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Drive east on Boulevard des Capucines.", + "announcement": "Drive east on Boulevard des Capucines.", + "distanceAlongGeometry": 424.799 + }, + { + "ssmlAnnouncement": "In a quarter mile, Turn left onto Rue Laffitte.", + "announcement": "In a quarter mile, Turn left onto Rue Laffitte.", + "distanceAlongGeometry": 414.799 + }, + { + "ssmlAnnouncement": "Turn left onto Rue Laffitte.", + "announcement": "Turn left onto Rue Laffitte.", + "distanceAlongGeometry": 50 + } + ], + "intersections": [ + { + "entry": [ + true + ], + "bearings": [ + 75 + ], + "duration": 6.608, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.765, + "geometry_index": 0, + "location": [ + 2.331495, + 48.870527 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 76, + 166, + 255, + 346 + ], + "duration": 1.55, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.813, + "geometry_index": 1, + "location": [ + 2.331834, + 48.870586 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 73, + 256 + ], + "duration": 0.257, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 0.302, + "geometry_index": 3, + "location": [ + 2.331917, + 48.8706 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 76, + 253 + ], + "duration": 2.571, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.021, + "geometry_index": 4, + "location": [ + 2.331927, + 48.870602 + ] + }, + { + "mapbox_streets_v8": { + "class": "primary" + }, + "location": [ + 2.332066, + 48.870625 + ], + "geometry_index": 5, + "admin_index": 0, + "weight": 14.19, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.007, + "turn_weight": 1.5, + "duration": 12.807, + "bearings": [ + 76, + 165, + 256, + 344 + ], + "out": 0, + "in": 2, + "entry": [ + true, + true, + false, + false + ] + }, + { + "lanes": [ + { + "indications": [ + "left" + ], + "valid": false, + "active": false + }, + { + "indications": [ + "left", + "straight" + ], + "valid_indication": "straight", + "valid": true, + "active": true + }, + { + "indications": [ + "straight" + ], + "valid": false, + "active": false + }, + { + "indications": [ + "straight" + ], + "valid": false, + "active": false + } + ], + "location": [ + 2.332548, + 48.870694 + ], + "geometry_index": 8, + "admin_index": 0, + "weight": 6.259, + "is_urban": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "turn_duration": 0.007, + "turn_weight": 1.5, + "duration": 4.057, + "bearings": [ + 80, + 165, + 259, + 344 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false, + true + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 74, + 163, + 260, + 344 + ], + "duration": 3.176, + "turn_duration": 0.026, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.701, + "geometry_index": 11, + "location": [ + 2.33279, + 48.870721 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 75, + 254 + ], + "duration": 17.55, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 20.621, + "geometry_index": 12, + "location": [ + 2.332979, + 48.870756 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 76, + 168, + 255, + 342 + ], + "duration": 2.647, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.102, + "geometry_index": 14, + "location": [ + 2.334006, + 48.870942 + ] + }, + { + "mapbox_streets_v8": { + "class": "primary" + }, + "location": [ + 2.334153, + 48.870967 + ], + "geometry_index": 15, + "admin_index": 0, + "weight": 7.813, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.019, + "turn_weight": 6, + "duration": 3.562, + "bearings": [ + 75, + 162, + 256, + 344 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false, + true + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 75, + 255 + ], + "duration": 4.629, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 5.439, + "geometry_index": 16, + "location": [ + 2.334266, + 48.870987 + ] + }, + { + "mapbox_streets_v8": { + "class": "primary" + }, + "location": [ + 2.334623, + 48.87105 + ], + "geometry_index": 18, + "admin_index": 0, + "weight": 2.807, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.007, + "turn_weight": 0.5, + "duration": 3.971, + "bearings": [ + 74, + 211, + 255 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 2, + "bearings": [ + 76, + 173, + 254, + 353 + ], + "duration": 2.408, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.82, + "geometry_index": 19, + "location": [ + 2.334786, + 48.87108 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 75, + 166, + 256, + 348 + ], + "duration": 14.819, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 17.39, + "geometry_index": 20, + "location": [ + 2.334946, + 48.871107 + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 2, + "bearings": [ + 76, + 170, + 255, + 351 + ], + "duration": 1.807, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.115, + "geometry_index": 21, + "location": [ + 2.335922, + 48.871275 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 76, + 163, + 256, + 348 + ], + "duration": 10.407, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 12.22, + "geometry_index": 22, + "location": [ + 2.336046, + 48.871296 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 75, + 156, + 256, + 336 + ], + "duration": 2.419, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.82, + "geometry_index": 24, + "location": [ + 2.33673, + 48.87141 + ] + }, + { + "entry": [ + true, + false, + true + ], + "in": 1, + "bearings": [ + 76, + 255, + 327 + ], + "duration": 2.836, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.324, + "geometry_index": 25, + "location": [ + 2.336884, + 48.871437 + ] + }, + { + "bearings": [ + 75, + 184, + 256 + ], + "entry": [ + true, + false, + false + ], + "in": 2, + "turn_duration": 2.019, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 26, + "location": [ + 2.337026, + 48.871461 + ] + } + ], + "maneuver": { + "type": "depart", + "instruction": "Drive east on Boulevard des Capucines.", + "bearing_after": 75, + "bearing_before": 0, + "location": [ + 2.331495, + 48.870527 + ] + }, + "name": "Boulevard des Capucines", + "weight_typical": 107.334, + "duration_typical": 91.431, + "duration": 101.131, + "distance": 424.799, + "driving_side": "right", + "weight": 118.73, + "mode": "driving", + "geometry": "}fye|AmuhmCuBeTACYaDCSm@uGk@sGaAsJ[{Hc@}JO_BAEeAyJaAkJqHys@q@eHg@aF}@qI_AwJ{@eIu@_IoI_|@i@wFk@aGwDua@u@sHo@{G]iD" + }, + { + "bannerInstructions": [ + { + "sub": { + "components": [ + { + "type": "text", + "text": "Rue Fléchier" + } + ], + "type": "turn", + "modifier": "left", + "text": "Rue Fléchier" + }, + "primary": { + "components": [ + { + "type": "text", + "text": "Rue de Châteaudun" + } + ], + "type": "turn", + "modifier": "right", + "text": "Rue de Châteaudun" + }, + "distanceAlongGeometry": 513.893 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "In a quarter mile, Turn right onto Rue de Châteaudun.", + "announcement": "In a quarter mile, Turn right onto Rue de Châteaudun.", + "distanceAlongGeometry": 503.893 + }, + { + "ssmlAnnouncement": "Turn right onto Rue de Châteaudun. Then Turn left onto Rue Fléchier.", + "announcement": "Turn right onto Rue de Châteaudun. Then Turn left onto Rue Fléchier.", + "distanceAlongGeometry": 63.333 + } + ], + "intersections": [ + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 14, + 75, + 255 + ], + "duration": 5.193, + "turn_weight": 12.5, + "turn_duration": 1.593, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 16.73, + "geometry_index": 27, + "location": [ + 2.337111, + 48.871476 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 13, + 77, + 194, + 256 + ], + "duration": 17.779, + "turn_weight": 2, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 22.868, + "geometry_index": 28, + "location": [ + 2.337162, + 48.871609 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 13, + 103, + 193, + 280 + ], + "duration": 3.127, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 5.666, + "geometry_index": 29, + "location": [ + 2.337386, + 48.872256 + ] + }, + { + "mapbox_streets_v8": { + "class": "street" + }, + "location": [ + 2.337425, + 48.872366 + ], + "geometry_index": 30, + "admin_index": 0, + "weight": 8.486, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.007, + "turn_weight": 5.5, + "duration": 4.548, + "bearings": [ + 13, + 101, + 193, + 283 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false, + true + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 13, + 99, + 193, + 287 + ], + "duration": 13.136, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 17.427, + "geometry_index": 31, + "location": [ + 2.337463, + 48.872473 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 14, + 193, + 283 + ], + "duration": 1.407, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.645, + "geometry_index": 32, + "location": [ + 2.33766, + 48.873017 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 14, + 108, + 194, + 289 + ], + "duration": 2.407, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.82, + "geometry_index": 33, + "location": [ + 2.337683, + 48.873076 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 14, + 194 + ], + "duration": 5.2, + "turn_weight": 1, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.11, + "geometry_index": 34, + "location": [ + 2.337721, + 48.873179 + ] + }, + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 13, + 106, + 194 + ], + "duration": 1.699, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.974, + "geometry_index": 35, + "location": [ + 2.337806, + 48.873404 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 13, + 106, + 193, + 284 + ], + "duration": 7.927, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 11.306, + "geometry_index": 36, + "location": [ + 2.337827, + 48.873465 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 14, + 193 + ], + "duration": 9.6, + "turn_weight": 1, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 12.28, + "geometry_index": 37, + "location": [ + 2.337932, + 48.873757 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 16, + 101, + 194, + 282 + ], + "duration": 1.447, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.692, + "geometry_index": 38, + "location": [ + 2.338063, + 48.874104 + ] + }, + { + "mapbox_streets_v8": { + "class": "street" + }, + "location": [ + 2.338085, + 48.874153 + ], + "geometry_index": 39, + "admin_index": 0, + "weight": 6.881, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.022, + "turn_weight": 2, + "duration": 6.176, + "bearings": [ + 13, + 93, + 196, + 270 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false, + false + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 14, + 68, + 193, + 246 + ], + "duration": 2.5, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.928, + "geometry_index": 40, + "location": [ + 2.338129, + 48.874281 + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 2, + "bearings": [ + 14, + 68, + 194, + 248 + ], + "duration": 1.066, + "turn_weight": 4, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 5.244, + "geometry_index": 41, + "location": [ + 2.33816, + 48.874362 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 13, + 68, + 194, + 248 + ], + "duration": 1.29, + "turn_weight": 2, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.493, + "geometry_index": 42, + "location": [ + 2.338176, + 48.874405 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 13, + 72, + 193, + 251 + ], + "duration": 13.772, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 18.174, + "geometry_index": 43, + "location": [ + 2.338196, + 48.874461 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 22, + 93, + 193, + 275 + ], + "duration": 1.919, + "turn_weight": 2, + "turn_duration": 0.014, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.239, + "geometry_index": 44, + "location": [ + 2.338393, + 48.875034 + ] + }, + { + "entry": [ + true, + false, + false, + true + ], + "in": 2, + "bearings": [ + 17, + 93, + 202, + 270 + ], + "duration": 1.704, + "turn_weight": 2, + "turn_duration": 0.024, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.974, + "geometry_index": 45, + "location": [ + 2.338438, + 48.875107 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 13, + 97, + 197, + 276 + ], + "duration": 19.704, + "turn_weight": 2, + "turn_duration": 0.024, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 25.124, + "geometry_index": 46, + "location": [ + 2.338464, + 48.875163 + ] + }, + { + "bearings": [ + 14, + 96, + 193, + 273 + ], + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 47, + "location": [ + 2.338723, + 48.875881 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn left onto Rue Laffitte.", + "modifier": "left", + "bearing_after": 14, + "bearing_before": 75, + "location": [ + 2.337111, + 48.871476 + ] + }, + "name": "Rue Laffitte", + "weight_typical": 204.235, + "duration_typical": 133.672, + "duration": 123.769, + "distance": 513.893, + "driving_side": "right", + "weight": 192.599, + "mode": "driving", + "geometry": "gb{e|AmtsmCiGeBmg@_M{EmAuEkA_a@iKuBm@mEkAaMiDyBi@gQqEuTeGaBk@_GwAaD}@uA_@oBg@yb@iKqCyAoBs@{k@eOcD{@" + }, + { + "bannerInstructions": [ + { + "sub": { + "components": [ + { + "type": "text", + "text": "Rue du Faubourg Montmartre" + } + ], + "type": "turn", + "modifier": "left", + "text": "Rue du Faubourg Montmartre" + }, + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Fléchier" + } + ], + "type": "turn", + "modifier": "left", + "text": "Rue Fléchier" + }, + "distanceAlongGeometry": 22.046 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Turn left onto Rue Fléchier. Then Turn left onto Rue du Faubourg Montmartre.", + "announcement": "Turn left onto Rue Fléchier. Then Turn left onto Rue du Faubourg Montmartre.", + "distanceAlongGeometry": 22.046 + } + ], + "intersections": [ + { + "bearings": [ + 95, + 194, + 275 + ], + "entry": [ + true, + false, + false + ], + "in": 1, + "turn_weight": 9, + "turn_duration": 3.246, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 48, + "location": [ + 2.338753, + 48.875963 + ] + } + ], + "maneuver": { + "type": "end of road", + "instruction": "Turn right onto Rue de Châteaudun.", + "modifier": "right", + "bearing_after": 95, + "bearing_before": 14, + "location": [ + 2.338753, + 48.875963 + ] + }, + "name": "Rue de Châteaudun", + "weight_typical": 14.17, + "duration_typical": 7.646, + "duration": 7.646, + "distance": 22.046, + "driving_side": "right", + "weight": 14.17, + "mode": "driving", + "geometry": "uzcf|Aa{vmC`@wQ" + }, + { + "bannerInstructions": [ + { + "sub": { + "components": [ + { + "type": "text", + "text": "Rue Notre-Dame-de-Lorette" + } + ], + "type": "turn", + "modifier": "slight right", + "text": "Rue Notre-Dame-de-Lorette" + }, + "primary": { + "components": [ + { + "type": "text", + "text": "Rue du Faubourg Montmartre" + } + ], + "type": "turn", + "modifier": "left", + "text": "Rue du Faubourg Montmartre" + }, + "distanceAlongGeometry": 89.047 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Turn left onto Rue du Faubourg Montmartre. Then Bear right onto Rue Notre-Dame-de-Lorette.", + "announcement": "Turn left onto Rue du Faubourg Montmartre. Then Bear right onto Rue Notre-Dame-de-Lorette.", + "distanceAlongGeometry": 73.333 + } + ], + "intersections": [ + { + "mapbox_streets_v8": { + "class": "street" + }, + "location": [ + 2.339053, + 48.875946 + ], + "geometry_index": 49, + "admin_index": 0, + "weight": 11.813, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 6.202, + "turn_weight": 10, + "duration": 7.745, + "bearings": [ + 14, + 97, + 275 + ], + "out": 0, + "in": 2, + "entry": [ + true, + true, + false + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 14, + 89, + 194, + 275 + ], + "duration": 12.178, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 16.301, + "geometry_index": 51, + "location": [ + 2.339084, + 48.876025 + ] + }, + { + "bearings": [ + 14, + 101, + 194, + 277 + ], + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 52, + "location": [ + 2.339313, + 48.876645 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn left onto Rue Fléchier.", + "modifier": "left", + "bearing_after": 14, + "bearing_before": 95, + "location": [ + 2.339053, + 48.875946 + ] + }, + "name": "Rue Fléchier", + "weight_typical": 31.927, + "duration_typical": 21.473, + "duration": 21.473, + "distance": 89.047, + "driving_side": "right", + "weight": 31.927, + "mode": "driving", + "geometry": "sycf|AymwmCmA]oA_@we@iM{Cy@" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Notre-Dame-de-Lorette" + } + ], + "type": "turn", + "modifier": "slight right", + "text": "Rue Notre-Dame-de-Lorette" + }, + "distanceAlongGeometry": 9.913 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Bear right onto Rue Notre-Dame-de-Lorette.", + "announcement": "Bear right onto Rue Notre-Dame-de-Lorette.", + "distanceAlongGeometry": 9.913 + } + ], + "intersections": [ + { + "bearings": [ + 117, + 194, + 302 + ], + "entry": [ + false, + false, + true + ], + "in": 1, + "turn_weight": 18.75, + "turn_duration": 4.772, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "tertiary" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "geometry_index": 53, + "location": [ + 2.339342, + 48.876723 + ] + } + ], + "maneuver": { + "type": "end of road", + "instruction": "Turn left onto Rue du Faubourg Montmartre.", + "modifier": "left", + "bearing_after": 302, + "bearing_before": 14, + "location": [ + 2.339342, + 48.876723 + ] + }, + "name": "Rue du Faubourg Montmartre", + "weight_typical": 21.57, + "duration_typical": 7.172, + "duration": 7.172, + "distance": 9.913, + "driving_side": "right", + "weight": 21.57, + "mode": "driving", + "geometry": "ejef|A{_xmC}AdF" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Notre-Dame-de-Lorette" + } + ], + "degrees": 185, + "driving_side": "right", + "type": "roundabout", + "modifier": "straight", + "text": "Rue Notre-Dame-de-Lorette" + }, + "distanceAlongGeometry": 210.453 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "In 700 feet, Enter Place Saint-Georges and take the 1st exit onto Rue Notre-Dame-de-Lorette.", + "announcement": "In 700 feet, Enter Place Saint-Georges and take the 1st exit onto Rue Notre-Dame-de-Lorette.", + "distanceAlongGeometry": 200.453 + }, + { + "ssmlAnnouncement": "Enter Place Saint-Georges and take the 1st exit onto Rue Notre-Dame-de-Lorette.", + "announcement": "Enter Place Saint-Georges and take the 1st exit onto Rue Notre-Dame-de-Lorette.", + "distanceAlongGeometry": 83.333 + } + ], + "intersections": [ + { + "entry": [ + true, + false, + true, + true + ], + "in": 1, + "bearings": [ + 7, + 122, + 283, + 316 + ], + "duration": 2.134, + "turn_weight": 6.5, + "turn_duration": 0.017, + "mapbox_streets_v8": { + "class": "tertiary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 8.988, + "geometry_index": 54, + "location": [ + 2.339227, + 48.87677 + ] + }, + { + "entry": [ + false, + true + ], + "in": 0, + "bearings": [ + 136, + 325 + ], + "duration": 1.271, + "turn_weight": 0.75, + "mapbox_streets_v8": { + "class": "tertiary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 2.243, + "geometry_index": 55, + "location": [ + 2.339133, + 48.876835 + ] + }, + { + "entry": [ + false, + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 70, + 145, + 203, + 244, + 327 + ], + "duration": 28.808, + "turn_weight": 1.5, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "tertiary" + }, + "is_urban": true, + "admin_index": 0, + "out": 4, + "weight": 35.34, + "geometry_index": 56, + "location": [ + 2.339086, + 48.876879 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 61, + 147, + 239, + 327 + ], + "duration": 1.066, + "turn_weight": 1.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "tertiary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 2.771, + "geometry_index": 57, + "location": [ + 2.338062, + 48.877897 + ] + }, + { + "entry": [ + false, + false, + true + ], + "in": 1, + "bearings": [ + 32, + 147, + 328 + ], + "duration": 9.103, + "turn_weight": 0.75, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "tertiary" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "weight": 11.664, + "geometry_index": 58, + "location": [ + 2.338024, + 48.877936 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 56, + 148, + 237, + 333 + ], + "duration": 0.2, + "turn_weight": 1.5, + "turn_duration": 0.01, + "mapbox_streets_v8": { + "class": "tertiary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 1.727, + "geometry_index": 60, + "location": [ + 2.33767, + 48.878303 + ] + }, + { + "bearings": [ + 38, + 153, + 229, + 331 + ], + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "turn_weight": 1.5, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "tertiary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "geometry_index": 61, + "location": [ + 2.337663, + 48.878312 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Bear right onto Rue Notre-Dame-de-Lorette.", + "modifier": "slight right", + "bearing_after": 316, + "bearing_before": 302, + "location": [ + 2.339227, + 48.87677 + ] + }, + "name": "Rue Notre-Dame-de-Lorette", + "weight_typical": 65.142, + "duration_typical": 43.36, + "duration": 43.36, + "distance": 210.453, + "driving_side": "right", + "weight": 65.142, + "mode": "driving", + "geometry": "cmef|AuxwmCaCzDwA|As~@~~@mAjAoOzNmEfEQL}@r@" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Notre-Dame-de-Lorette" + } + ], + "degrees": 185, + "driving_side": "right", + "type": "roundabout", + "modifier": "right", + "text": "Rue Notre-Dame-de-Lorette" + }, + "distanceAlongGeometry": 27.652 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Exit the roundabout onto Rue Notre-Dame-de-Lorette.", + "announcement": "Exit the roundabout onto Rue Notre-Dame-de-Lorette.", + "distanceAlongGeometry": 27.652 + } + ], + "intersections": [ + { + "bearings": [ + 151, + 256, + 341 + ], + "entry": [ + false, + false, + true + ], + "in": 0, + "turn_weight": 6, + "turn_duration": 0.014, + "mapbox_streets_v8": { + "class": "roundabout" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "geometry_index": 62, + "location": [ + 2.337637, + 48.878343 + ] + } + ], + "maneuver": { + "type": "rotary", + "exit": 1, + "instruction": "Enter Place Saint-Georges and take the 1st exit onto Rue Notre-Dame-de-Lorette.", + "modifier": "straight", + "bearing_after": 341, + "bearing_before": 331, + "location": [ + 2.337637, + 48.878343 + ] + }, + "rotary_name": "Place Saint-Georges", + "name": "Rue Notre-Dame-de-Lorette", + "weight_typical": 14.064, + "duration_typical": 6.734, + "duration": 6.734, + "distance": 27.652, + "driving_side": "right", + "weight": 14.064, + "mode": "driving", + "geometry": "mohf|AiutmCOYi@e@]Ou@Am@Xo@p@[v@Kz@CbAD|@Jl@L^" + }, + { + "bannerInstructions": [ + { + "sub": { + "components": [ + { + "type": "text", + "text": "Rue Jean-Baptiste Pigalle" + } + ], + "type": "turn", + "modifier": "slight right", + "text": "Rue Jean-Baptiste Pigalle" + }, + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Catherine de La Rochefoucauld" + } + ], + "type": "turn", + "modifier": "right", + "text": "Rue Catherine de La Rochefoucauld" + }, + "distanceAlongGeometry": 253.787 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "In 800 feet, Turn right onto Rue Catherine de La Rochefoucauld.", + "announcement": "In 800 feet, Turn right onto Rue Catherine de La Rochefoucauld.", + "distanceAlongGeometry": 243.787 + }, + { + "ssmlAnnouncement": "Turn right. Then Bear right onto Rue Jean-Baptiste Pigalle.", + "announcement": "Turn right. Then Bear right onto Rue Jean-Baptiste Pigalle.", + "distanceAlongGeometry": 58.333 + } + ], + "intersections": [ + { + "entry": [ + false, + true, + true + ], + "in": 0, + "bearings": [ + 119, + 166, + 321 + ], + "duration": 0.664, + "turn_weight": 6.125, + "turn_duration": 0.028, + "mapbox_streets_v8": { + "class": "tertiary" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "weight": 6.887, + "geometry_index": 74, + "location": [ + 2.337478, + 48.878467 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 46, + 141, + 228, + 321 + ], + "duration": 10.383, + "turn_weight": 1.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "tertiary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 13.952, + "geometry_index": 75, + "location": [ + 2.337448, + 48.878491 + ] + }, + { + "entry": [ + false, + false, + true + ], + "in": 0, + "bearings": [ + 141, + 287, + 325 + ], + "duration": 2.889, + "turn_weight": 0.75, + "turn_duration": 0.009, + "mapbox_streets_v8": { + "class": "tertiary" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "weight": 4.206, + "geometry_index": 77, + "location": [ + 2.337028, + 48.878834 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 53, + 145, + 234, + 324 + ], + "duration": 2.659, + "turn_weight": 1.5, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "tertiary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 4.668, + "geometry_index": 78, + "location": [ + 2.336932, + 48.878924 + ] + }, + { + "entry": [ + true, + false, + false, + true + ], + "in": 1, + "bearings": [ + 18, + 144, + 196, + 320 + ], + "duration": 2.949, + "turn_weight": 1.5, + "turn_duration": 0.024, + "mapbox_streets_v8": { + "class": "tertiary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 5.01, + "geometry_index": 79, + "location": [ + 2.336847, + 48.879002 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 37, + 140, + 215, + 320 + ], + "duration": 35.107, + "turn_weight": 1.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "tertiary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 43.62, + "geometry_index": 80, + "location": [ + 2.336736, + 48.879088 + ] + }, + { + "bearings": [ + 51, + 141, + 229, + 321 + ], + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "turn_weight": 1.5, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "tertiary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "geometry_index": 82, + "location": [ + 2.335398, + 48.880183 + ] + } + ], + "maneuver": { + "type": "exit rotary", + "instruction": "Exit the roundabout onto Rue Notre-Dame-de-Lorette.", + "modifier": "slight right", + "bearing_after": 321, + "bearing_before": 299, + "location": [ + 2.337478, + 48.878467 + ] + }, + "name": "Rue Notre-Dame-de-Lorette", + "weight_typical": 82.273, + "duration_typical": 56.684, + "duration": 56.684, + "distance": 253.787, + "driving_side": "right", + "weight": 82.273, + "mode": "driving", + "geometry": "ewhf|AkktmCo@z@_FnGmMvPsD~D{ChDkD|EoFvH}{@zhAcC`D" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Jean-Baptiste Pigalle" + } + ], + "type": "turn", + "modifier": "slight right", + "text": "Rue Jean-Baptiste Pigalle" + }, + "distanceAlongGeometry": 79.529 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Bear right onto Rue Jean-Baptiste Pigalle.", + "announcement": "Bear right onto Rue Jean-Baptiste Pigalle.", + "distanceAlongGeometry": 56.667 + } + ], + "intersections": [ + { + "entry": [ + true, + false, + false, + true + ], + "in": 1, + "bearings": [ + 24, + 141, + 201, + 315 + ], + "duration": 2.129, + "turn_weight": 6.5, + "turn_duration": 0.449, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 8.516, + "geometry_index": 83, + "location": [ + 2.335317, + 48.880249 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 23, + 141, + 204, + 322 + ], + "duration": 10.099, + "turn_weight": 2, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 14.096, + "geometry_index": 84, + "location": [ + 2.335355, + 48.880304 + ] + }, + { + "bearings": [ + 21, + 111, + 203, + 293 + ], + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "turn_weight": 2, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 85, + "location": [ + 2.335581, + 48.880649 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn right onto Rue Catherine de La Rochefoucauld.", + "modifier": "right", + "bearing_after": 24, + "bearing_before": 321, + "location": [ + 2.335317, + 48.880249 + ] + }, + "name": "Rue Catherine de La Rochefoucauld", + "weight_typical": 33.54, + "duration_typical": 19.688, + "duration": 19.688, + "distance": 79.529, + "driving_side": "right", + "weight": 33.54, + "mode": "driving", + "geometry": "qflf|AidpmCmBkAqTcMeEuBcIoD" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Boulevard de Clichy" + } + ], + "type": "turn", + "modifier": "right", + "text": "Boulevard de Clichy" + }, + "distanceAlongGeometry": 207.803 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "In 700 feet, Turn right onto Boulevard de Clichy.", + "announcement": "In 700 feet, Turn right onto Boulevard de Clichy.", + "distanceAlongGeometry": 197.803 + }, + { + "ssmlAnnouncement": "Turn right onto Boulevard de Clichy.", + "announcement": "Turn right onto Boulevard de Clichy.", + "distanceAlongGeometry": 53.333 + } + ], + "intersections": [ + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 43, + 200, + 222 + ], + "duration": 10.281, + "turn_weight": 6.5, + "turn_duration": 0.035, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 18.795, + "geometry_index": 87, + "location": [ + 2.335728, + 48.88091 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 43, + 130, + 223, + 313 + ], + "duration": 2.223, + "turn_weight": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.658, + "geometry_index": 88, + "location": [ + 2.336073, + 48.881156 + ] + }, + { + "entry": [ + true, + false, + false, + true + ], + "in": 2, + "bearings": [ + 42, + 107, + 223, + 296 + ], + "duration": 2.321, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.777, + "geometry_index": 89, + "location": [ + 2.33615, + 48.88121 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 41, + 100, + 222, + 282 + ], + "duration": 23.419, + "turn_weight": 2, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 30.08, + "geometry_index": 90, + "location": [ + 2.336231, + 48.881269 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 40, + 125, + 222, + 306 + ], + "duration": 4.137, + "turn_weight": 2, + "turn_duration": 0.022, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.937, + "geometry_index": 92, + "location": [ + 2.33705, + 48.881878 + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 2, + "bearings": [ + 88, + 160, + 220, + 303 + ], + "duration": 7.682, + "turn_weight": 7, + "turn_duration": 0.182, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 16, + "geometry_index": 93, + "location": [ + 2.337187, + 48.881986 + ] + }, + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 36, + 135, + 246 + ], + "duration": 4.965, + "turn_weight": 1.5, + "turn_duration": 0.165, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.26, + "geometry_index": 98, + "location": [ + 2.337512, + 48.882036 + ] + }, + { + "bearings": [ + 31, + 106, + 216, + 289 + ], + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "turn_weight": 2, + "turn_duration": 0.024, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 99, + "location": [ + 2.337607, + 48.882121 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Bear right onto Rue Jean-Baptiste Pigalle.", + "modifier": "slight right", + "bearing_after": 43, + "bearing_before": 20, + "location": [ + 2.335728, + 48.88091 + ] + }, + "name": "Rue Jean-Baptiste Pigalle", + "weight_typical": 95.308, + "duration_typical": 59.052, + "duration": 59.052, + "distance": 207.803, + "driving_side": "right", + "weight": 95.308, + "mode": "driving", + "geometry": "{omf|A_~pmCkNqTkByCuBaDad@wp@_@m@wEqGLwBAsCMmB[oBeA_DiD}D{CoC" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Boulevard de Magenta" + } + ], + "type": "turn", + "modifier": "left", + "text": "Boulevard de Magenta" + }, + "distanceAlongGeometry": 897.146 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Continue for a half mile.", + "announcement": "Continue for a half mile.", + "distanceAlongGeometry": 887.146 + }, + { + "ssmlAnnouncement": "In a quarter mile, Turn left onto Boulevard de Magenta.", + "announcement": "In a quarter mile, Turn left onto Boulevard de Magenta.", + "distanceAlongGeometry": 402.336 + }, + { + "ssmlAnnouncement": "Turn left onto Boulevard de Magenta.", + "announcement": "Turn left onto Boulevard de Magenta.", + "distanceAlongGeometry": 53.333 + } + ], + "intersections": [ + { + "mapbox_streets_v8": { + "class": "primary" + }, + "location": [ + 2.337679, + 48.882199 + ], + "geometry_index": 100, + "admin_index": 0, + "weight": 13.14, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.449, + "turn_weight": 10.5, + "duration": 4.649, + "bearings": [ + 32, + 95, + 211, + 282 + ], + "out": 1, + "in": 2, + "entry": [ + true, + true, + false, + false + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 31, + 104, + 208, + 275 + ], + "duration": 13.613, + "turn_duration": 0.013, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 16.32, + "geometry_index": 101, + "location": [ + 2.337825, + 48.88219 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 102, + 196, + 284 + ], + "duration": 11.022, + "turn_duration": 0.022, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 13.2, + "geometry_index": 102, + "location": [ + 2.338728, + 48.882044 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 104, + 177, + 283, + 358 + ], + "duration": 3.007, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.6, + "geometry_index": 104, + "location": [ + 2.33946, + 48.881938 + ] + }, + { + "mapbox_streets_v8": { + "class": "primary" + }, + "location": [ + 2.339665, + 48.881905 + ], + "geometry_index": 105, + "admin_index": 0, + "weight": 9.8, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.056, + "turn_weight": 5, + "duration": 6.056, + "bearings": [ + 42, + 89, + 162, + 284, + 322 + ], + "out": 1, + "in": 3, + "entry": [ + true, + true, + true, + false, + false + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 73, + 166, + 269, + 346 + ], + "duration": 7.261, + "turn_duration": 0.061, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 8.64, + "geometry_index": 107, + "location": [ + 2.339933, + 48.881907 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 73, + 162, + 253 + ], + "duration": 8.807, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 10.56, + "geometry_index": 108, + "location": [ + 2.340402, + 48.881999 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 73, + 166, + 253, + 346 + ], + "duration": 2.207, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.64, + "geometry_index": 109, + "location": [ + 2.340978, + 48.882114 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 74, + 158, + 253 + ], + "duration": 11.867, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 14.231, + "geometry_index": 110, + "location": [ + 2.34112, + 48.882142 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 75, + 162, + 254, + 344 + ], + "duration": 1.914, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.287, + "geometry_index": 111, + "location": [ + 2.341856, + 48.882284 + ] + }, + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 74, + 146, + 255 + ], + "duration": 2.407, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.88, + "geometry_index": 112, + "location": [ + 2.341981, + 48.882306 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 74, + 163, + 254, + 344 + ], + "duration": 26.808, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 32.16, + "geometry_index": 113, + "location": [ + 2.342136, + 48.882335 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 75, + 160, + 253, + 341 + ], + "duration": 1.808, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.16, + "geometry_index": 115, + "location": [ + 2.343888, + 48.882672 + ] + }, + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 75, + 162, + 255 + ], + "duration": 0.807, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 0.96, + "geometry_index": 117, + "location": [ + 2.344003, + 48.882692 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 73, + 159, + 255, + 341 + ], + "duration": 5.621, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.72, + "geometry_index": 118, + "location": [ + 2.344053, + 48.882701 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 74, + 165, + 253, + 344 + ], + "duration": 1.608, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.92, + "geometry_index": 120, + "location": [ + 2.344423, + 48.882774 + ] + }, + { + "entry": [ + true, + false, + false, + true + ], + "in": 2, + "bearings": [ + 73, + 168, + 254, + 346 + ], + "duration": 3.807, + "turn_duration": 2.007, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.16, + "geometry_index": 121, + "location": [ + 2.344528, + 48.882794 + ] + }, + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 73, + 163, + 253 + ], + "duration": 32.195, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 38.626, + "geometry_index": 122, + "location": [ + 2.344628, + 48.882814 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 8, + 73, + 189, + 253 + ], + "duration": 2.336, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 2.795, + "geometry_index": 124, + "location": [ + 2.346618, + 48.88321 + ] + }, + { + "entry": [ + true, + true, + false, + false, + false, + false + ], + "in": 2, + "bearings": [ + 68, + 163, + 253, + 279, + 294, + 342 + ], + "duration": 5.626, + "turn_duration": 2.026, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.32, + "geometry_index": 125, + "location": [ + 2.346766, + 48.883239 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 68, + 248 + ], + "duration": 3.6, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.32, + "geometry_index": 126, + "location": [ + 2.346928, + 48.883281 + ] + }, + { + "entry": [ + true, + false, + false, + false, + true + ], + "in": 3, + "bearings": [ + 72, + 93, + 182, + 248, + 344 + ], + "duration": 3.609, + "turn_duration": 2.009, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.92, + "geometry_index": 127, + "location": [ + 2.347097, + 48.883327 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 80, + 173, + 252, + 351 + ], + "duration": 30.612, + "turn_duration": 0.012, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 36.72, + "geometry_index": 128, + "location": [ + 2.347203, + 48.88335 + ] + }, + { + "bearings": [ + 83, + 172, + 260, + 352 + ], + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 129, + "location": [ + 2.349258, + 48.883588 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn right onto Boulevard de Clichy.", + "modifier": "right", + "bearing_after": 95, + "bearing_before": 31, + "location": [ + 2.337679, + 48.882199 + ] + }, + "name": "Boulevard de Clichy", + "weight_typical": 232.919, + "duration_typical": 191.955, + "duration": 195.055, + "distance": 897.146, + "driving_side": "right", + "weight": 236.639, + "mode": "driving", + "geometry": "m`pf|A}wtmCPcHbHmw@tD}f@\\yD`AyKh@cHm@sFwDi\\eF_c@w@{G{G_m@k@yFy@uHgSaiBYmBGeA_@_DQcBiAsJgAoJg@qEg@gEoKo~@gK{{@y@gHsAcI{AqIm@sE{Mm_Ck@aO" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Ordener" + } + ], + "type": "turn", + "modifier": "right", + "text": "Rue Ordener" + }, + "distanceAlongGeometry": 886.896 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Continue for a half mile.", + "announcement": "Continue for a half mile.", + "distanceAlongGeometry": 876.896 + }, + { + "ssmlAnnouncement": "In a quarter mile, Turn right onto Rue Ordener.", + "announcement": "In a quarter mile, Turn right onto Rue Ordener.", + "distanceAlongGeometry": 402.336 + }, + { + "ssmlAnnouncement": "Turn right onto Rue Ordener.", + "announcement": "Turn right onto Rue Ordener.", + "distanceAlongGeometry": 50 + } + ], + "intersections": [ + { + "mapbox_streets_v8": { + "class": "primary" + }, + "location": [ + 2.349515, + 48.88361 + ], + "geometry_index": 130, + "admin_index": 0, + "weight": 13.51, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 7.152, + "turn_weight": 10, + "duration": 10.077, + "bearings": [ + 84, + 93, + 128, + 159, + 214, + 253, + 263, + 355 + ], + "out": 7, + "in": 6, + "entry": [ + true, + false, + false, + true, + false, + false, + false, + true + ] + }, + { + "entry": [ + false, + true + ], + "in": 0, + "bearings": [ + 175, + 353 + ], + "duration": 3.375, + "turn_weight": 5, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 9.05, + "geometry_index": 131, + "location": [ + 2.3495, + 48.883725 + ] + }, + { + "mapbox_streets_v8": { + "class": "primary" + }, + "location": [ + 2.349477, + 48.883855 + ], + "geometry_index": 132, + "admin_index": 0, + "weight": 5.51, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.012, + "turn_weight": 2, + "duration": 4.937, + "bearings": [ + 1, + 70, + 84, + 173, + 251, + 260 + ], + "out": 0, + "in": 3, + "entry": [ + true, + false, + false, + false, + false, + true + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 89, + 181, + 269 + ], + "duration": 2.719, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.24, + "geometry_index": 133, + "location": [ + 2.349479, + 48.883972 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 181 + ], + "duration": 1.35, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.62, + "geometry_index": 134, + "location": [ + 2.349482, + 48.884076 + ] + }, + { + "entry": [ + true, + false, + true + ], + "in": 1, + "bearings": [ + 0, + 181, + 260 + ], + "duration": 0.741, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 0.864, + "geometry_index": 135, + "location": [ + 2.349484, + 48.88413 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 180 + ], + "duration": 1.2, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.44, + "geometry_index": 136, + "location": [ + 2.349484, + 48.884159 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 1, + 181, + 293 + ], + "duration": 1.594, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.89, + "geometry_index": 137, + "location": [ + 2.349485, + 48.884205 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 181 + ], + "duration": 4.95, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 5.94, + "geometry_index": 138, + "location": [ + 2.349487, + 48.88427 + ] + }, + { + "entry": [ + true, + false, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 46, + 181, + 291, + 321 + ], + "duration": 3.831, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.574, + "geometry_index": 140, + "location": [ + 2.34949, + 48.884465 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 92, + 181, + 272 + ], + "duration": 7.431, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 8.894, + "geometry_index": 141, + "location": [ + 2.349494, + 48.884628 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 181 + ], + "duration": 5.082, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 6.099, + "geometry_index": 142, + "location": [ + 2.349504, + 48.884946 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 3, + 89, + 181, + 269 + ], + "duration": 2.76, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.304, + "geometry_index": 143, + "location": [ + 2.34951, + 48.885159 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 99, + 183 + ], + "duration": 8.096, + "turn_duration": 2.021, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 7.29, + "geometry_index": 144, + "location": [ + 2.349518, + 48.885275 + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 65, + 181, + 304 + ], + "duration": 4.719, + "turn_duration": 2.019, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.24, + "geometry_index": 145, + "location": [ + 2.349523, + 48.88552 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 93, + 181, + 273 + ], + "duration": 1.099, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.296, + "geometry_index": 147, + "location": [ + 2.349526, + 48.885656 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 181 + ], + "duration": 3.6, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.32, + "geometry_index": 150, + "location": [ + 2.349527, + 48.885709 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 181 + ], + "duration": 7.92, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 9.504, + "geometry_index": 151, + "location": [ + 2.34953, + 48.885886 + ] + }, + { + "entry": [ + true, + false + ], + "in": 1, + "bearings": [ + 1, + 181 + ], + "duration": 2.88, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.456, + "geometry_index": 152, + "location": [ + 2.349537, + 48.886281 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 90, + 181, + 270 + ], + "duration": 2.539, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.024, + "geometry_index": 153, + "location": [ + 2.349539, + 48.886422 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 79, + 181, + 259 + ], + "duration": 5.394, + "turn_duration": 2.019, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.05, + "geometry_index": 154, + "location": [ + 2.349541, + 48.886552 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 92, + 181, + 270 + ], + "duration": 10.144, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 12.15, + "geometry_index": 155, + "location": [ + 2.349544, + 48.886683 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 0, + 89, + 181, + 270 + ], + "duration": 2.046, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.43, + "geometry_index": 156, + "location": [ + 2.349551, + 48.887089 + ] + }, + { + "entry": [ + true, + false, + true + ], + "in": 1, + "bearings": [ + 1, + 180, + 270 + ], + "duration": 2.337, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.795, + "geometry_index": 157, + "location": [ + 2.349552, + 48.887171 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 1, + 181, + 221 + ], + "duration": 3.619, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 4.32, + "geometry_index": 158, + "location": [ + 2.349554, + 48.887266 + ] + }, + { + "mapbox_streets_v8": { + "class": "primary" + }, + "location": [ + 2.349556, + 48.887416 + ], + "geometry_index": 159, + "admin_index": 0, + "weight": 4.638, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.019, + "turn_weight": 1, + "duration": 5.051, + "bearings": [ + 1, + 77, + 181, + 275 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false, + false + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 0, + 89, + 181, + 267 + ], + "duration": 0.4, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 0.455, + "geometry_index": 160, + "location": [ + 2.349559, + 48.887557 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 1, + "bearings": [ + 1, + 180, + 322 + ], + "duration": 14.786, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 17.735, + "geometry_index": 161, + "location": [ + 2.349559, + 48.887579 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 0, + 94, + 181, + 275 + ], + "duration": 1.536, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.819, + "geometry_index": 164, + "location": [ + 2.349572, + 48.888279 + ] + }, + { + "mapbox_streets_v8": { + "class": "primary" + }, + "location": [ + 2.349573, + 48.888355 + ], + "geometry_index": 165, + "admin_index": 0, + "weight": 3.795, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.007, + "turn_weight": 1, + "duration": 4.336, + "bearings": [ + 0, + 92, + 180, + 272 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false, + true + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 0, + 92, + 180, + 273 + ], + "duration": 22.666, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 27.191, + "geometry_index": 166, + "location": [ + 2.349574, + 48.888454 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 4, + 63, + 180, + 244 + ], + "duration": 1.491, + "turn_duration": 0.009, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 1.779, + "geometry_index": 167, + "location": [ + 2.349585, + 48.889418 + ] + }, + { + "entry": [ + true, + true, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 55, + 184, + 245 + ], + "duration": 2.987, + "turn_duration": 0.022, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 3.558, + "geometry_index": 168, + "location": [ + 2.349592, + 48.889478 + ] + }, + { + "entry": [ + false, + false, + true + ], + "in": 0, + "bearings": [ + 181, + 327, + 360 + ], + "duration": 6.758, + "turn_duration": 2.021, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "weight": 5.684, + "geometry_index": 169, + "location": [ + 2.349594, + 48.889605 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 0, + 92, + 180, + 270 + ], + "duration": 12.133, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 14.552, + "geometry_index": 170, + "location": [ + 2.349593, + 48.88983 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 1, + 89, + 180, + 267 + ], + "duration": 2.092, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.501, + "geometry_index": 171, + "location": [ + 2.349594, + 48.890406 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 82, + 181, + 265, + 360 + ], + "duration": 4.35, + "turn_duration": 2.021, + "traffic_signal": true, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 2.795, + "geometry_index": 172, + "location": [ + 2.349597, + 48.890506 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 0, + 89, + 180, + 267 + ], + "duration": 18.007, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 21.6, + "geometry_index": 173, + "location": [ + 2.349596, + 48.890608 + ] + }, + { + "bearings": [ + 0, + 92, + 180, + 270 + ], + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "primary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "geometry_index": 176, + "location": [ + 2.349602, + 48.891375 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn left onto Boulevard de Magenta.", + "modifier": "left", + "bearing_after": 355, + "bearing_before": 83, + "location": [ + 2.349515, + 48.88361 + ] + }, + "name": "Boulevard de Magenta", + "weight_typical": 237.501, + "duration_typical": 205.698, + "duration": 205.698, + "distance": 886.896, + "driving_side": "right", + "weight": 237.501, + "mode": "driving", + "geometry": "sxrf|Au{knCeF\\cGl@iFCoEEkBCy@?{AAaCCsAAqHCeIG{RSiLKgFOiNIoEC_AAu@?I?i@AaJEuWMyGCcGCeGEkXMcDA}DCkHCyGEk@?sLGcEC_WMwCAeEAg{@UwBM}FCaM@_c@AgEEkE@_[GkJAqGAoKC" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Stephenson" + } + ], + "type": "turn", + "modifier": "right", + "text": "Rue Stephenson" + }, + "distanceAlongGeometry": 472.737 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "In a quarter mile, Turn right onto Rue Stephenson.", + "announcement": "In a quarter mile, Turn right onto Rue Stephenson.", + "distanceAlongGeometry": 462.737 + }, + { + "ssmlAnnouncement": "Turn right onto Rue Stephenson.", + "announcement": "Turn right onto Rue Stephenson.", + "distanceAlongGeometry": 50 + } + ], + "intersections": [ + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.349604, + 48.891575 + ], + "geometry_index": 177, + "admin_index": 0, + "weight": 13.314, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 6.001, + "turn_weight": 7, + "duration": 11.262, + "bearings": [ + 106, + 158, + 180, + 215, + 282, + 351 + ], + "out": 0, + "in": 2, + "entry": [ + true, + false, + false, + false, + true, + true + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 13, + 106, + 193, + 286 + ], + "duration": 35.453, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 43.535, + "geometry_index": 178, + "location": [ + 2.349859, + 48.891526 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 0, + 107, + 180, + 287 + ], + "duration": 1.668, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 2.994, + "geometry_index": 180, + "location": [ + 2.351531, + 48.891201 + ] + }, + { + "mapbox_streets_v8": { + "class": "secondary" + }, + "location": [ + 2.351615, + 48.891184 + ], + "geometry_index": 181, + "admin_index": 0, + "weight": 2.69, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.007, + "turn_weight": 1, + "duration": 3.416, + "bearings": [ + 6, + 109, + 182, + 287 + ], + "out": 1, + "in": 3, + "entry": [ + true, + true, + false, + false + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 20, + 105, + 201, + 289 + ], + "duration": 16.457, + "turn_weight": 1, + "turn_duration": 0.022, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 20.722, + "geometry_index": 182, + "location": [ + 2.351733, + 48.891157 + ] + }, + { + "entry": [ + true, + false, + false, + false + ], + "in": 2, + "bearings": [ + 105, + 173, + 285, + 353 + ], + "duration": 1.26, + "turn_weight": 1, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.503, + "geometry_index": 183, + "location": [ + 2.353111, + 48.890909 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 105, + 172, + 285 + ], + "duration": 12.008, + "turn_weight": 0.5, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 14.9, + "geometry_index": 184, + "location": [ + 2.35322, + 48.89089 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 23, + 107, + 203, + 285 + ], + "duration": 1.342, + "turn_weight": 1, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 2.567, + "geometry_index": 185, + "location": [ + 2.354405, + 48.890674 + ] + }, + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 106, + 179, + 287 + ], + "duration": 9.972, + "turn_weight": 0.5, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 12.195, + "geometry_index": 186, + "location": [ + 2.354533, + 48.890649 + ] + }, + { + "bearings": [ + 15, + 107, + 196, + 286 + ], + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "secondary" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "geometry_index": 189, + "location": [ + 2.35515, + 48.890535 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn right onto Rue Ordener.", + "modifier": "right", + "bearing_after": 106, + "bearing_before": 0, + "location": [ + 2.349604, + 48.891575 + ] + }, + "name": "Rue Ordener", + "weight_typical": 128.404, + "duration_typical": 103.046, + "duration": 103.046, + "distance": 472.737, + "driving_side": "right", + "weight": 128.404, + "mode": "driving", + "geometry": "mjbg|AgalnC`B}NxC}WnNqnA`@gDt@kFnNcuAd@yEnLaiAp@_GpDg]d@iEJ_A|@}G|Dq_@" + }, + { + "bannerInstructions": [ + { + "sub": { + "components": [ + { + "type": "text", + "text": "Rue Affre" + } + ], + "type": "turn", + "modifier": "right", + "text": "Rue Affre" + }, + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Cavé" + } + ], + "type": "turn", + "modifier": "right", + "text": "Rue Cavé" + }, + "distanceAlongGeometry": 406.669 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "In a quarter mile, Turn right onto Rue Cavé.", + "announcement": "In a quarter mile, Turn right onto Rue Cavé.", + "distanceAlongGeometry": 396.669 + }, + { + "ssmlAnnouncement": "Turn right onto Rue Cavé. Then Turn right onto Rue Affre.", + "announcement": "Turn right onto Rue Cavé. Then Turn right onto Rue Affre.", + "distanceAlongGeometry": 60.833 + } + ], + "intersections": [ + { + "mapbox_streets_v8": { + "class": "street" + }, + "location": [ + 2.355814, + 48.890409 + ], + "geometry_index": 191, + "admin_index": 0, + "weight": 9.488, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.576, + "turn_weight": 7, + "duration": 4.694, + "bearings": [ + 100, + 173, + 285 + ], + "out": 1, + "in": 2, + "entry": [ + true, + true, + false + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 92, + 175, + 277, + 353 + ], + "duration": 0.855, + "turn_weight": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 2.995, + "geometry_index": 192, + "location": [ + 2.355831, + 48.890321 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 104, + 176, + 284, + 355 + ], + "duration": 26.266, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 32.854, + "geometry_index": 193, + "location": [ + 2.355836, + 48.890282 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 89, + 172, + 265, + 356 + ], + "duration": 1.083, + "turn_weight": 2, + "turn_duration": 0.024, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 3.271, + "geometry_index": 194, + "location": [ + 2.355945, + 48.889171 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 86, + 172, + 266, + 352 + ], + "duration": 8.689, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 12.419, + "geometry_index": 195, + "location": [ + 2.355954, + 48.88913 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 76, + 173, + 258, + 350 + ], + "duration": 1.49, + "turn_weight": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 3.779, + "geometry_index": 197, + "location": [ + 2.356041, + 48.888765 + ] + }, + { + "mapbox_streets_v8": { + "class": "street" + }, + "location": [ + 2.356053, + 48.888703 + ], + "geometry_index": 198, + "admin_index": 0, + "weight": 4.016, + "is_urban": true, + "traffic_signal": true, + "turn_duration": 2.022, + "turn_weight": 2, + "duration": 3.702, + "bearings": [ + 83, + 171, + 263, + 353 + ], + "out": 1, + "in": 3, + "entry": [ + true, + true, + true, + false + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 83, + 172, + 265, + 351 + ], + "duration": 15.607, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 20.33, + "geometry_index": 199, + "location": [ + 2.356068, + 48.888641 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 94, + 172, + 275, + 352 + ], + "duration": 1.447, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 3.692, + "geometry_index": 200, + "location": [ + 2.356192, + 48.88806 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 172, + 266, + 352 + ], + "duration": 9.367, + "turn_weight": 1, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 11.998, + "geometry_index": 201, + "location": [ + 2.356203, + 48.888006 + ] + }, + { + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "bearings": [ + 92, + 173, + 270, + 352 + ], + "duration": 1.447, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 3.692, + "geometry_index": 202, + "location": [ + 2.35632, + 48.88743 + ] + }, + { + "entry": [ + true, + false, + false + ], + "in": 2, + "bearings": [ + 172, + 263, + 353 + ], + "duration": 1.603, + "turn_weight": 1, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 0, + "weight": 2.861, + "geometry_index": 203, + "location": [ + 2.356338, + 48.887337 + ] + }, + { + "bearings": [ + 77, + 172, + 259, + 352 + ], + "entry": [ + false, + true, + false, + false + ], + "in": 3, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "geometry_index": 204, + "location": [ + 2.356359, + 48.88724 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn right onto Rue Stephenson.", + "modifier": "right", + "bearing_after": 173, + "bearing_before": 105, + "location": [ + 2.355814, + 48.890409 + ] + }, + "name": "Rue Stephenson", + "weight_typical": 122.024, + "duration_typical": 83.603, + "duration": 83.603, + "distance": 406.669, + "driving_side": "right", + "weight": 122.024, + "mode": "driving", + "geometry": "qa`g|AkexnCnDa@lAIldAyEpAQfOuBpEw@zBWzB]hc@wFjBU~b@iFxDc@`Ei@p[iE" + }, + { + "bannerInstructions": [ + { + "sub": { + "components": [ + { + "type": "text", + "text": "Rue Myrha" + } + ], + "type": "turn", + "modifier": "left", + "text": "Rue Myrha" + }, + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Affre" + } + ], + "type": "turn", + "modifier": "right", + "text": "Rue Affre" + }, + "distanceAlongGeometry": 66.655 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Turn right onto Rue Affre. Then Turn left onto Rue Myrha.", + "announcement": "Turn right onto Rue Affre. Then Turn left onto Rue Myrha.", + "distanceAlongGeometry": 60.833 + } + ], + "intersections": [ + { + "entry": [ + true, + true, + false + ], + "in": 2, + "bearings": [ + 175, + 266, + 352 + ], + "duration": 4.229, + "turn_weight": 7, + "turn_duration": 2.535, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 1, + "weight": 8.991, + "geometry_index": 205, + "location": [ + 2.35646, + 48.886783 + ] + }, + { + "entry": [ + false, + false, + true, + false + ], + "in": 0, + "bearings": [ + 86, + 173, + 268, + 353 + ], + "duration": 11.231, + "turn_weight": 2, + "turn_duration": 0.007, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "weight": 15.188, + "geometry_index": 206, + "location": [ + 2.356355, + 48.886778 + ] + }, + { + "bearings": [ + 88, + 175, + 268, + 353 + ], + "entry": [ + false, + false, + true, + false + ], + "in": 0, + "turn_weight": 2, + "turn_duration": 0.021, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "geometry_index": 207, + "location": [ + 2.355626, + 48.886765 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn right onto Rue Cavé.", + "modifier": "right", + "bearing_after": 266, + "bearing_before": 172, + "location": [ + 2.35646, + 48.886783 + ] + }, + "name": "Rue Cavé", + "weight_typical": 27.671, + "duration_typical": 16.751, + "duration": 16.751, + "distance": 66.655, + "driving_side": "right", + "weight": 27.671, + "mode": "driving", + "geometry": "}~xf|AwmynCHpEXpl@BvC" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Rue Myrha" + } + ], + "type": "turn", + "modifier": "left", + "text": "Rue Myrha" + }, + "distanceAlongGeometry": 57.674 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "Turn left onto Rue Myrha.", + "announcement": "Turn left onto Rue Myrha.", + "distanceAlongGeometry": 50 + } + ], + "intersections": [ + { + "entry": [ + false, + true, + false, + true + ], + "in": 0, + "bearings": [ + 88, + 176, + 267, + 351 + ], + "duration": 2.875, + "turn_weight": 7, + "turn_duration": 1.392, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 8.742, + "geometry_index": 208, + "location": [ + 2.35555, + 48.886763 + ] + }, + { + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "bearings": [ + 83, + 171, + 263, + 353 + ], + "duration": 9.326, + "turn_weight": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "weight": 12.948, + "geometry_index": 209, + "location": [ + 2.355536, + 48.886822 + ] + }, + { + "bearings": [ + 79, + 173, + 258, + 355 + ], + "entry": [ + false, + false, + false, + true + ], + "in": 1, + "turn_weight": 2, + "turn_duration": 0.008, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 3, + "geometry_index": 210, + "location": [ + 2.35546, + 48.887216 + ] + } + ], + "maneuver": { + "type": "turn", + "instruction": "Turn right onto Rue Affre.", + "modifier": "right", + "bearing_after": 351, + "bearing_before": 268, + "location": [ + 2.35555, + 48.886763 + ] + }, + "name": "Rue Affre", + "weight_typical": 25.432, + "duration_typical": 13.691, + "duration": 13.691, + "distance": 57.674, + "driving_side": "right", + "weight": 25.432, + "mode": "driving", + "geometry": "u}xf|A{twnCuBZsWvCyBN" + }, + { + "bannerInstructions": [ + { + "primary": { + "components": [ + { + "type": "text", + "text": "Your destination will be on the right" + } + ], + "type": "arrive", + "modifier": "right", + "text": "Your destination will be on the right" + }, + "distanceAlongGeometry": 95.699 + }, + { + "primary": { + "components": [ + { + "type": "text", + "text": "Your destination is on the right" + } + ], + "type": "arrive", + "modifier": "right", + "text": "Your destination is on the right" + }, + "distanceAlongGeometry": 34.722 + } + ], + "voiceInstructions": [ + { + "ssmlAnnouncement": "In 300 feet, Your destination will be on the right.", + "announcement": "In 300 feet, Your destination will be on the right.", + "distanceAlongGeometry": 87.366 + }, + { + "ssmlAnnouncement": "Your destination is on the right.", + "announcement": "Your destination is on the right.", + "distanceAlongGeometry": 34.722 + } + ], + "intersections": [ + { + "entry": [ + true, + false, + true + ], + "in": 1, + "bearings": [ + 84, + 175, + 265 + ], + "duration": 7.031, + "turn_weight": 10, + "turn_duration": 5.395, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "weight": 11.923, + "geometry_index": 211, + "location": [ + 2.355452, + 48.887277 + ] + }, + { + "bearings": [ + 85, + 172, + 263, + 351 + ], + "entry": [ + false, + false, + true, + false + ], + "in": 0, + "turn_weight": 2, + "turn_duration": 0.019, + "mapbox_streets_v8": { + "class": "street" + }, + "is_urban": true, + "admin_index": 0, + "out": 2, + "geometry_index": 212, + "location": [ + 2.355383, + 48.887273 + ] + } + ], + "maneuver": { + "type": "end of road", + "instruction": "Turn left onto Rue Myrha.", + "modifier": "left", + "bearing_after": 265, + "bearing_before": 355, + "location": [ + 2.355452, + 48.887277 + ] + }, + "name": "Rue Myrha", + "weight_typical": 48.774, + "duration_typical": 36.711, + "duration": 36.711, + "distance": 95.699, + "driving_side": "right", + "weight": 48.774, + "mode": "driving", + "geometry": "y}yf|AwnwnCFhCbExkA" + }, + { + "bannerInstructions": [], + "voiceInstructions": [], + "intersections": [ + { + "bearings": [ + 83 + ], + "entry": [ + true + ], + "in": 0, + "admin_index": 0, + "geometry_index": 213, + "location": [ + 2.354154, + 48.887175 + ] + } + ], + "maneuver": { + "type": "arrive", + "instruction": "Your destination is on the right.", + "modifier": "right", + "bearing_after": 0, + "bearing_before": 263, + "location": [ + 2.354154, + 48.887175 + ] + }, + "name": "Rue Myrha", + "weight_typical": 0, + "duration_typical": 0, + "duration": 0, + "distance": 0, + "driving_side": "right", + "weight": 0, + "mode": "driving", + "geometry": "mwyf|As}tnC??" + } + ], + "distance": 4722.399, + "summary": "Boulevard de Clichy, Boulevard de Magenta" + } + ], + "geometry": "}fye|AmuhmCuBeTACYaDCSm@uGk@sGaAsJ[{Hc@}JO_BAEeAyJaAkJqHys@q@eHg@aF}@qI_AwJ{@eIu@_IoI_|@i@wFk@aGwDua@u@sHo@{G]iDiGeBmg@_M{EmAuEkA_a@iKuBm@mEkAaMiDyBi@gQqEuTeGaBk@_GwAaD}@uA_@oBg@yb@iKqCyAoBs@{k@eOcD{@`@wQmA]oA_@we@iM{Cy@}AdFaCzDwA|As~@~~@mAjAoOzNmEfEQL}@r@OYi@e@]Ou@Am@Xo@p@[v@Kz@CbAD|@Jl@L^o@z@_FnGmMvPsD~D{ChDkD|EoFvH}{@zhAcC`DmBkAqTcMeEuBcIoDkNqTkByCuBaDad@wp@_@m@wEqGLwBAsCMmB[oBeA_DiD}D{CoCPcHbHmw@tD}f@\\yD`AyKh@cHm@sFwDi\\eF_c@w@{G{G_m@k@yFy@uHgSaiBYmBGeA_@_DQcBiAsJgAoJg@qEg@gEoKo~@gK{{@y@gHsAcI{AqIm@sE{Mm_Ck@aOeF\\cGl@iFCoEEkBCy@?{AAaCCsAAqHCeIG{RSiLKgFOiNIoEC_AAu@?I?i@AaJEuWMyGCcGCeGEkXMcDA}DCkHCyGEk@?sLGcEC_WMwCAeEAg{@UwBM}FCaM@_c@AgEEkE@_[GkJAqGAoKC`B}NxC}WnNqnA`@gDt@kFnNcuAd@yEnLaiAp@_GpDg]d@iEJ_A|@}G|Dq_@nDa@lAIldAyEpAQfOuBpEw@zBWzB]hc@wFjBU~b@iFxDc@`Ei@p[iEHpEXpl@BvCuBZsWvCyBNFhCbExkA", + "voiceLocale": "en-US", + "refresh_ttl": 21600 + } + ], + "waypoints": [ + { + "distance": 8.696, + "name": "Boulevard des Capucines", + "location": [ + 2.331495, + 48.870527 + ] + }, + { + "distance": 3.188, + "name": "Rue Myrha", + "location": [ + 2.354154, + 48.887175 + ] + } + ], + "code": "Ok", + "uuid": "Qiql6d_I7VQ45bOwJPmuApdFloivprCBrsDDlBz5PG8SaBO5fbAciA==_eu-west-1" +} \ No newline at end of file diff --git a/libnavigation-base/src/main/java/com/mapbox/navigation/base/internal/route/AnnotationsRefresher.kt b/libnavigation-base/src/main/java/com/mapbox/navigation/base/internal/route/AnnotationsRefresher.kt index 8d11629424d..89f3369f4cc 100644 --- a/libnavigation-base/src/main/java/com/mapbox/navigation/base/internal/route/AnnotationsRefresher.kt +++ b/libnavigation-base/src/main/java/com/mapbox/navigation/base/internal/route/AnnotationsRefresher.kt @@ -48,6 +48,16 @@ internal object AnnotationsRefresher { newAnnotation, startingLegGeometryIndex, ) { maxspeed() } + val freeFlowSpeed = mergeAnnotationProperty( + oldAnnotation, + newAnnotation, + startingLegGeometryIndex, + ) { freeflowSpeed() } + val currentSpeed = mergeAnnotationProperty( + oldAnnotation, + newAnnotation, + startingLegGeometryIndex, + ) { currentSpeed() } val unrecognizedProperties = oldAnnotation.unrecognizedPropertiesNames .union(newAnnotation?.unrecognizedPropertiesNames ?: emptySet()) .associateNonNullValuesWith { propertyName -> @@ -76,6 +86,8 @@ internal object AnnotationsRefresher { .distance(distance) .duration(duration) .speed(speed) + .freeflowSpeed(freeFlowSpeed) + .currentSpeed(currentSpeed) .build() } diff --git a/libnavigation-base/src/test/java/com/mapbox/navigation/base/internal/route/AnnotationsRefresherTest.kt b/libnavigation-base/src/test/java/com/mapbox/navigation/base/internal/route/AnnotationsRefresherTest.kt index aaebf1aa3b3..4526611fc6b 100644 --- a/libnavigation-base/src/test/java/com/mapbox/navigation/base/internal/route/AnnotationsRefresherTest.kt +++ b/libnavigation-base/src/test/java/com/mapbox/navigation/base/internal/route/AnnotationsRefresherTest.kt @@ -219,6 +219,8 @@ class AnnotationsRefresherTest( .distance(listOf(1.2, 3.4, 5.6, 7.8, 9.0)) .duration(listOf(11.2, 33.4, 55.6, 77.8, 99.0)) .speed(listOf(41.0, 42.5, 43.1, 44.6, 45.9)) + .freeflowSpeed(listOf(1, 2, 3, 4, 5)) + .currentSpeed(listOf(2, 3, 4, 5, 6)) .maxspeed(List(5) { MaxSpeed.builder().speed(it * 10).unit("mph").build() }) .build(), LegAnnotation.builder() @@ -235,6 +237,8 @@ class AnnotationsRefresherTest( .distance(listOf(2.1, 4.3, 6.5, 8.7, 0.9)) .duration(listOf(22.1, 44.3, 66.5, 88.7, 110.9)) .speed(listOf(51.0, 52.5, 53.1, 54.6, 55.9)) + .freeflowSpeed(listOf(5, 4, 3, 2, 1)) + .currentSpeed(listOf(6, 5, 4, 3, 2)) .maxspeed( List(5) { MaxSpeed.builder().speed(it * 10 + 1).unit("kmh").build() @@ -261,6 +265,8 @@ class AnnotationsRefresherTest( MaxSpeed.builder().speed(it * 10 + 1).unit("kmh").build() } ) + .freeflowSpeed(listOf(5, 4, 3, 2, 1)) + .currentSpeed(listOf(6, 5, 4, 3, 2)) .build(), "Everything is filled, index = 0. New annotation properties are used." ), @@ -279,6 +285,8 @@ class AnnotationsRefresherTest( .distance(listOf(1.2, 3.4, 5.6, 7.8, 9.0)) .duration(listOf(11.2, 33.4, 55.6, 77.8, 99.0)) .speed(listOf(41.0, 42.5, 43.1, 44.6, 45.9)) + .freeflowSpeed(listOf(1, 2, 3, 4, 5)) + .currentSpeed(listOf(2, 3, 4, 5, 6)) .maxspeed( List(5) { MaxSpeed.builder().speed(it * 10).unit("mph").build() @@ -299,6 +307,8 @@ class AnnotationsRefresherTest( .distance(listOf(8.7, 0.9)) .duration(listOf(88.7, 110.9)) .speed(listOf(54.6, 55.9)) + .freeflowSpeed(listOf(11, 22)) + .currentSpeed(listOf(33, 44)) .maxspeed( List(2) { MaxSpeed.builder().speed(it * 10 + 1).unit("kmh").build() @@ -328,6 +338,8 @@ class AnnotationsRefresherTest( MaxSpeed.builder().speed(it * 10 + 1).unit("kmh").build() } ) + .freeflowSpeed(listOf(1, 2, 3, 11, 22)) + .currentSpeed(listOf(2, 3, 4, 33, 44)) .build(), "Everything is filled, index = 3. " + "Old annotations properties are used before current index." @@ -361,6 +373,8 @@ class AnnotationsRefresherTest( .duration(emptyList()) .speed(emptyList()) .maxspeed(emptyList()) + .freeflowSpeed(emptyList()) + .currentSpeed(emptyList()) .build(), 5, LegAnnotation.builder() diff --git a/libnavigation-core/src/main/java/com/mapbox/navigation/core/routerefresh/DirectionsRouteDiffProvider.kt b/libnavigation-core/src/main/java/com/mapbox/navigation/core/routerefresh/DirectionsRouteDiffProvider.kt index 53b1e39ad44..37434a151ac 100644 --- a/libnavigation-core/src/main/java/com/mapbox/navigation/core/routerefresh/DirectionsRouteDiffProvider.kt +++ b/libnavigation-core/src/main/java/com/mapbox/navigation/core/routerefresh/DirectionsRouteDiffProvider.kt @@ -78,6 +78,12 @@ internal class DirectionsRouteDiffProvider { if (oldLegAnnotation?.stateOfCharge() != newLegAnnotation?.stateOfCharge()) { updatedAnnotations.add("state_of_charge") } + if (oldLegAnnotation?.currentSpeed() != newLegAnnotation?.currentSpeed()) { + updatedAnnotations.add("current_speed") + } + if (oldLegAnnotation?.freeflowSpeed() != newLegAnnotation?.freeflowSpeed()) { + updatedAnnotations.add("freeflow_speed") + } return updatedAnnotations } diff --git a/libnavigation-core/src/test/java/com/mapbox/navigation/core/routerefresh/DirectionsRouteDiffProviderTest.kt b/libnavigation-core/src/test/java/com/mapbox/navigation/core/routerefresh/DirectionsRouteDiffProviderTest.kt index e6451992cc1..2d00adb5be9 100644 --- a/libnavigation-core/src/test/java/com/mapbox/navigation/core/routerefresh/DirectionsRouteDiffProviderTest.kt +++ b/libnavigation-core/src/test/java/com/mapbox/navigation/core/routerefresh/DirectionsRouteDiffProviderTest.kt @@ -30,7 +30,7 @@ class DirectionsRouteDiffProviderTest { ) val newRoute = createTestNavigationRoute( listOf( - createTestLeg(57.14, 14.28, 85.71, 120, "low", 42, 89) + createTestLeg(57.14, 14.28, 85.71, 120, "low", 42, 89, 34, 22) ), waypointsPerRoute = true, waypoints = listOf(waypoint1) @@ -52,7 +52,7 @@ class DirectionsRouteDiffProviderTest { ) val newRoute = createTestNavigationRoute( listOf( - createTestLeg(57.14, 14.28, 85.71, 120, "low", 42, 89) + createTestLeg(57.14, 14.28, 85.71, 120, "low", 42, 89, 34, 22) ), waypointsPerRoute = true, waypoints = listOf(waypoint2) @@ -70,7 +70,7 @@ class DirectionsRouteDiffProviderTest { val waypoint1 = createTestWaypoint(chargeAtArrival = 80) val oldRoute = createTestNavigationRoute( listOf( - createTestLeg(57.14, 14.28, 85.71, 120, "low", 42, 89) + createTestLeg(57.14, 14.28, 85.71, 120, "low", 42, 89, 34, 22) ), waypointsPerRoute = true, waypoints = listOf(waypoint1) @@ -92,7 +92,7 @@ class DirectionsRouteDiffProviderTest { val waypoint2 = createTestWaypoint(chargeAtArrival = 75) val oldRoute = createTestNavigationRoute( listOf( - createTestLeg(57.14, 14.28, 85.71, 120, "low", 42, 89) + createTestLeg(57.14, 14.28, 85.71, 120, "low", 42, 89, 34, 22) ), waypointsPerRoute = true, waypoints = listOf(waypoint1) @@ -114,15 +114,15 @@ class DirectionsRouteDiffProviderTest { fun buildRouteDiffs_oldRouteHasMoreLegs() { val oldRoute = createTestNavigationRoute( listOf( - createTestLeg(142.8, 28.57, 71.42, 120, "unknown", 42, 89), - createTestLeg(57.14, 8.571, 42.85, 90, "low", 71, 90), + createTestLeg(142.8, 28.57, 71.42, 120, "unknown", 42, 89, 34, 22), + createTestLeg(57.14, 8.571, 42.85, 90, "low", 71, 90, 34, 22), ), waypointsPerRoute = true, waypoints = emptyList() ) val newRoute = createTestNavigationRoute( listOf( - createTestLeg(57.14, 14.28, 85.71, 120, "low", 42, 89), + createTestLeg(57.14, 14.28, 85.71, 120, "low", 42, 89, 34, 22), ), waypointsPerRoute = true, waypoints = emptyList() @@ -140,15 +140,15 @@ class DirectionsRouteDiffProviderTest { fun buildRouteDiffs_newRouteHasMoreLegs() { val oldRoute = createTestNavigationRoute( listOf( - createTestLeg(57.14, 14.28, 85.71, 120, "low", 42, 89), + createTestLeg(57.14, 14.28, 85.71, 120, "low", 42, 89, 34, 22), ), waypointsPerRoute = true, waypoints = emptyList() ) val newRoute = createTestNavigationRoute( listOf( - createTestLeg(142.8, 28.57, 71.42, 120, "unknown", 42, 89), - createTestLeg(57.14, 8.571, 42.85, 90, "low", 71, 90), + createTestLeg(142.8, 28.57, 71.42, 120, "unknown", 42, 89, 34, 22), + createTestLeg(57.14, 8.571, 42.85, 90, "low", 71, 90, 34, 22), ), waypointsPerRoute = true, waypoints = emptyList() @@ -168,11 +168,11 @@ class DirectionsRouteDiffProviderTest { val waypoint2 = createTestWaypoint(chargeAtArrival = 81) val oldRoute = createTestNavigationRoute( listOf( - createTestLeg(57.14, 8.571, 42.85, 90, "low", 71, 90), - createTestLeg(142.8, 28.57, 71.42, 120, "unknown", 42, 89), - createTestLeg(85.71, 42.85, 57.14, 90, "unknown", 14, 87), - createTestLeg(71.42, 14.28, 85.71, 90, "low", 57, 85), - createTestLeg(42.85, 57.14, 28.57, 120, "low", 28, 80), + createTestLeg(57.14, 8.571, 42.85, 90, "low", 71, 90, 34, 22), + createTestLeg(142.8, 28.57, 71.42, 120, "unknown", 42, 89, 34, 22), + createTestLeg(85.71, 42.85, 57.14, 90, "unknown", 14, 87, 34, 22), + createTestLeg(71.42, 14.28, 85.71, 90, "low", 57, 85, 34, 22), + createTestLeg(42.85, 57.14, 28.57, 120, "low", 28, 80, 34, 22), createRouteLeg(), ), waypointsPerRoute = true, @@ -181,10 +181,10 @@ class DirectionsRouteDiffProviderTest { val newRoute = createTestNavigationRoute( listOf( createRouteLeg(annotation = null), - createTestLeg(57.14, 14.28, 85.71, 120, "low", 42, 89), - createTestLeg(85.71, 42.85, 57.14, 90, "unknown", 14, 87), - createTestLeg(71.42, 28.57, 42.85, 120, "unknown", 57, 84), - createTestLeg(142.8, 57.14, 28.57, 90, "low", 71, 79), + createTestLeg(57.14, 14.28, 85.71, 120, "low", 42, 89, 34, 22), + createTestLeg(85.71, 42.85, 57.14, 90, "unknown", 14, 87, 34, 22), + createTestLeg(71.42, 28.57, 42.85, 120, "unknown", 57, 84, 37, 22), + createTestLeg(142.8, 57.14, 28.57, 90, "low", 71, 79, 34, 62), createRouteLeg( incidents = listOf(createIncident()), closures = listOf(createClosure()) @@ -197,9 +197,9 @@ class DirectionsRouteDiffProviderTest { assertEquals( listOf( "Updated distance, duration, speed, congestion at route testDiff#0 leg 1", - "Updated duration, speed, maxSpeed, congestion, state_of_charge " + + "Updated duration, speed, maxSpeed, congestion, state_of_charge, freeflow_speed " + "at route testDiff#0 leg 3", - "Updated distance, maxSpeed, congestionNumeric, state_of_charge " + + "Updated distance, maxSpeed, congestionNumeric, state_of_charge, current_speed " + "at route testDiff#0 leg 4", "Updated incidents, closures at route testDiff#0 leg 5", "Updated waypoints at route testDiff#0", @@ -245,6 +245,8 @@ class DirectionsRouteDiffProviderTest { congestion: String, congestionNumeric: Int, stateOfCharge: Int, + freeFlowSpeed: Int, + currentSpeed: Int ): RouteLeg { return createRouteLeg( createRouteLegAnnotation( @@ -255,6 +257,8 @@ class DirectionsRouteDiffProviderTest { duration = listOf(duration), speed = listOf(speed), stateOfCharge = listOf(stateOfCharge), + freeFlowSpeed = listOf(freeFlowSpeed), + currentSpeed = listOf(currentSpeed) ), ) } diff --git a/libtesting-thirdparty/src/main/java/com/mapbox/navigation/testing/factories/DirectionsResponseFactories.kt b/libtesting-thirdparty/src/main/java/com/mapbox/navigation/testing/factories/DirectionsResponseFactories.kt index 1df99a01de3..4f300c85e3e 100644 --- a/libtesting-thirdparty/src/main/java/com/mapbox/navigation/testing/factories/DirectionsResponseFactories.kt +++ b/libtesting-thirdparty/src/main/java/com/mapbox/navigation/testing/factories/DirectionsResponseFactories.kt @@ -157,7 +157,9 @@ fun createRouteLegAnnotation( duration: List = listOf(2.0, 2.0), maxSpeed: List = listOf(createMaxSpeed(40), createMaxSpeed(60)), speed: List = listOf(40.4, 60.7), - stateOfCharge: List = listOf(80, 79) + stateOfCharge: List = listOf(80, 79), + freeFlowSpeed: List = listOf(2, 5), + currentSpeed: List = listOf(5, 9), ): LegAnnotation { return LegAnnotation.builder() .distance(distance) @@ -166,6 +168,8 @@ fun createRouteLegAnnotation( .congestionNumeric(congestionNumeric) .maxspeed(maxSpeed) .speed(speed) + .freeflowSpeed(freeFlowSpeed) + .currentSpeed(currentSpeed) .unrecognizedJsonProperties( mapOf( "state_of_charge" to JsonArray().apply {