Skip to content

Commit c06dcb3

Browse files
author
Seth Bourget
committed
wip testing edge case
1 parent 8865baf commit c06dcb3

File tree

2 files changed

+24
-3
lines changed

2 files changed

+24
-3
lines changed

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

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.mapbox.maps.Style.Companion.MAPBOX_STREETS
2020
import com.mapbox.maps.plugin.LocationPuck2D
2121
import com.mapbox.maps.plugin.animation.camera
2222
import com.mapbox.maps.plugin.gestures.gestures
23+
import com.mapbox.maps.plugin.locationcomponent.OnIndicatorPositionChangedListener
2324
import com.mapbox.maps.plugin.locationcomponent.location
2425
import com.mapbox.navigation.base.TimeFormat
2526
import com.mapbox.navigation.base.extensions.applyDefaultNavigationOptions
@@ -141,6 +142,13 @@ class MapboxNavigationActivity : AppCompatActivity() {
141142
private lateinit var routeArrowView: MapboxRouteArrowView
142143
private val routeArrowAPI: MapboxRouteArrowApi = MapboxRouteArrowApi()
143144

145+
private val locationComponent by lazy {
146+
binding.mapView.location.apply {
147+
setLocationProvider(navigationLocationProvider)
148+
enabled = true
149+
}
150+
}
151+
144152
/* ----- Voice instruction callbacks ----- */
145153
private val voiceInstructionsObserver =
146154
VoiceInstructionsObserver { voiceInstructions ->
@@ -388,6 +396,7 @@ class MapboxNavigationActivity : AppCompatActivity() {
388396
// initialize route line
389397
val mapboxRouteLineOptions = MapboxRouteLineOptions.Builder(this)
390398
.withRouteLineBelowLayerId("road-label")
399+
.withVanishingRouteLineEnabled(true)
391400
.build()
392401
routeLineAPI = MapboxRouteLineApi(mapboxRouteLineOptions)
393402
routeLineView = MapboxRouteLineView(mapboxRouteLineOptions)
@@ -434,6 +443,7 @@ class MapboxNavigationActivity : AppCompatActivity() {
434443

435444
override fun onStart() {
436445
super.onStart()
446+
locationComponent.addOnIndicatorPositionChangedListener(onPositionChangedListener)
437447
mapboxNavigation.registerRoutesObserver(routesObserver)
438448
mapboxNavigation.registerNavigationSessionStateObserver(navigationSessionStateObserver)
439449
mapboxNavigation.registerRouteProgressObserver(routeProgressObserver)
@@ -443,6 +453,7 @@ class MapboxNavigationActivity : AppCompatActivity() {
443453

444454
override fun onStop() {
445455
super.onStop()
456+
locationComponent.removeOnIndicatorPositionChangedListener(onPositionChangedListener)
446457
mapboxNavigation.unregisterRoutesObserver(routesObserver)
447458
mapboxNavigation.unregisterNavigationSessionStateObserver(navigationSessionStateObserver)
448459
mapboxNavigation.unregisterRouteProgressObserver(routeProgressObserver)
@@ -469,7 +480,7 @@ class MapboxNavigationActivity : AppCompatActivity() {
469480
RouteOptions.builder()
470481
.applyDefaultNavigationOptions()
471482
.applyLanguageAndVoiceUnitOptions(this)
472-
.coordinatesList(listOf(origin, destination))
483+
.coordinatesList(listOf(Point.fromLngLat(-122.37033971197376, 45.5794559098664), Point.fromLngLat(-122.37006184362927, 45.57944922334681))) // fixme
473484
.layersList(listOf(mapboxNavigation.getZLevel(), null))
474485
.build(),
475486
object : NavigationRouterCallback {
@@ -527,4 +538,12 @@ class MapboxNavigationActivity : AppCompatActivity() {
527538
private companion object {
528539
private const val LOG_CATEGORY = "MapboxNavigationActivity"
529540
}
541+
542+
private val onPositionChangedListener = OnIndicatorPositionChangedListener { point ->
543+
val result = routeLineAPI.updateTraveledRouteLine(point)
544+
mapboxMap.getStyle()?.apply {
545+
// Render the result to update the map.
546+
routeLineView.renderRouteLineUpdate(this, result)
547+
}
548+
}
530549
}

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,7 @@ class MapboxRouteLineAndArrowActivity : AppCompatActivity(), OnMapLongClickListe
364364
}
365365

366366
override fun onMapLongClick(point: Point): Boolean {
367+
Log.e("foobar", "point $point")
367368
vibrate()
368369
viewBinding.startNavigation.visibility = View.GONE
369370
viewBinding.optionTrafficGradient.visibility = View.GONE
@@ -378,12 +379,13 @@ class MapboxRouteLineAndArrowActivity : AppCompatActivity(), OnMapLongClickListe
378379
}
379380
return false
380381
}
381-
382+
//-122.36898496055935, 45.57909397202329
383+
//-122.37006184362927, 45.57944922334681
382384
fun findRoute(origin: Point?, destination: Point?) {
383385
val routeOptions = RouteOptions.builder()
384386
.applyDefaultNavigationOptions()
385387
.applyLanguageAndVoiceUnitOptions(this)
386-
.coordinatesList(listOf(origin, destination))
388+
.coordinatesList(listOf(Point.fromLngLat(-122.37033971197376, 45.5794559098664), Point.fromLngLat(-122.37006184362927, 45.57944922334681))) //fixme
387389
.layersList(listOf(mapboxNavigation.getZLevel(), null))
388390
.alternatives(false)
389391
.build()

0 commit comments

Comments
 (0)