Skip to content

Commit 6ad5fc3

Browse files
committed
try example in navigation activity
1 parent 542aa2a commit 6ad5fc3

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

examples/src/main/java/com/mapbox/navigation/examples/core/MapboxNavigationActivity.kt

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import android.view.View.VISIBLE
1010
import android.widget.Toast
1111
import androidx.appcompat.app.AppCompatActivity
1212
import androidx.core.content.ContextCompat
13+
import androidx.lifecycle.lifecycleScope
1314
import com.mapbox.api.directions.v5.models.RouteOptions
1415
import com.mapbox.bindgen.Expected
1516
import com.mapbox.geojson.Point
@@ -52,6 +53,7 @@ import com.mapbox.navigation.ui.maps.location.NavigationLocationProvider
5253
import com.mapbox.navigation.ui.maps.route.arrow.api.MapboxRouteArrowApi
5354
import com.mapbox.navigation.ui.maps.route.arrow.api.MapboxRouteArrowView
5455
import com.mapbox.navigation.ui.maps.route.arrow.model.RouteArrowOptions
56+
import com.mapbox.navigation.ui.maps.route.line.MapboxRouteLineApiExtensions.setNavigationRoutes
5557
import com.mapbox.navigation.ui.maps.route.line.MapboxRouteLineApiExtensions.setRoutes
5658
import com.mapbox.navigation.ui.maps.route.line.api.MapboxRouteLineApi
5759
import com.mapbox.navigation.ui.maps.route.line.api.MapboxRouteLineView
@@ -231,15 +233,19 @@ class MapboxNavigationActivity : AppCompatActivity() {
231233
}
232234

233235
private val routesObserver = RoutesObserver { result ->
234-
if (result.routes.isNotEmpty()) {
236+
if (result.navigationRoutes.isNotEmpty()) {
235237
// generate route geometries asynchronously and render them
236-
CoroutineScope(Dispatchers.Main).launch {
237-
val result = routeLineAPI.setRoutes(
238-
listOf(RouteLine(result.routes.first(), null))
239-
)
240-
val style = mapboxMap.getStyle()
241-
if (style != null) {
242-
routeLineView.renderRouteDrawData(style, result)
238+
lifecycleScope.launch {
239+
routeLineAPI.setNavigationRoutes(
240+
newRoutes = result.navigationRoutes,
241+
alternativeRoutesMetadata = mapboxNavigation.getAlternativeMetadataFor(
242+
result.navigationRoutes
243+
)
244+
).apply {
245+
routeLineView.renderRouteDrawData(
246+
binding.mapView.getMapboxMap().getStyle()!!,
247+
this
248+
)
243249
}
244250
}
245251

@@ -472,6 +478,7 @@ class MapboxNavigationActivity : AppCompatActivity() {
472478
RouteOptions.builder()
473479
.applyDefaultNavigationOptions()
474480
.applyLanguageAndVoiceUnitOptions(this)
481+
.alternatives(true)
475482
.coordinatesList(listOf(origin) + waypoints)
476483
.build(),
477484
object : NavigationRouterCallback {

0 commit comments

Comments
 (0)