我想使用mapbox-android SDK在Android(Kotlin(上进行导航应用程序。我需要创建具有特定航向的路线,并想知道何时我靠近这些路线(例如,在200m之前(。我已经设法在带有导航对象的路点上显示了一个带有我的路点的地图,并使用NavigationLauncher对象启动了转弯导航。不过,我不知道如何知道我何时接近航路点。我已经阅读了有关里程碑事件的侦听器(步骤或路线(,Routeprogress(腿或路线(的内容,但我不知道这是正确的方法。
我试图用step_distance_remaining_meters声明一个里程碑,并添加MilestoneEventListener,但我的日志中没有任何启动。就像我说的那样,我什至不知道这是否是正确的方法。
val milestone = RouteMilestone.Builder()
.setIdentifier(100)
.setTrigger(Trigger.all(
Trigger.lt(TriggerProperty.STEP_DISTANCE_REMAINING_METERS, 200)
))
.build()
navigation = MapboxNavigation(this@MainActivity, Mapbox.getAccessToken())
navigation.addMilestone(milestone)
navigation.addMilestoneEventListener { _, _, milestone ->
Log.d(TAG, "milestone triggered: " + milestone.instruction)
}
navigationMapRoute = NavigationMapRoute(navigation, mapView, map, R.style.NavigationMapRoute)
navigationMapRoute!!.addRoute(currentRoute)
我正在使用Mapbox SDK
的那些版本- mapbox-android-sdk:5.3.2
- mapbox-android-Navigation:0.9.0
- mapbox android-navigation-ui:0.9.0
如果您知道航路点的位置,则可以使用位置管理器的接近警报