在 Mapbox Android SDK 中,我们可以设置/自定义 StepMilestone,即我们可以在到达当前步骤的 Maneuver 之前获得回调。
iOS Mapbox sdk 中是否有任何等效选项可用于监听 StepMilestone 进度?
在 Mapbox Android SDK 中,我们可以设置/自定义 StepMilestone,即我们可以在到达当前步骤的 Maneuver 之前获得回调。
iOS Mapbox sdk 中是否有任何等效选项可用于监听 StepMilestone 进度?
目前在 iOS 上没有直接的等价物,所以这不像在 Android 上那么简单。(免责声明:我目前为 Mapbox 工作)
在 iOS 上执行此操作的最佳方法是使用turf-swift 的 LineString.distance(from:to:) (捆绑在 Navigation SDK 中)根据给定的 POI 查找路线上最近的坐标。
然后,您可以通过将该距离与RouteProgress.distanceTraveled进行比较来响应NotificationName.routeControllerProgressDidChange。如果用户超过了您指定的阈值,则创建一个 SpokenInstruction 并告诉 NavigationViewController 的 voiceController 说出(_:) 它。您可以在此示例中看到最后一块的类似示例:https ://docs.mapbox.com/ios/navigation/examples/custom-voice-controller/
我希望这会有所帮助。