ios - Mapbox 导航、iOS SDK 中的重新路由问题

标签 ios routes sdk navigation mapbox

即使用户设备位置位于同一路线上,导航也会在每次路线进展后不断重新路线。我认为只有当用户离开当前路线时,Mapbox 才会自动处理重新路由。我读完this后文档的一部分,我认为我需要手动处理它。

根据文档,我使用下面的代码来手动处理重新路由,但该代码已弃用。

func navigationViewController(_ navigationViewController: NavigationViewController, shouldRerouteFrom location: CLLocation) -> Bool {
        return navigationViewController.routeController.userIsOnRoute(location)
    }

所以崩溃将我重定向到 Mapbox SDK 的这一部分

@available(*, deprecated, renamed: "navigationService", message: "NavigationViewController no longer directly manages a RouteController. See MapboxNavigationService, which contains a protocol-bound reference to the RouteController, for more information.")
/// :nodoc: obsoleted
@objc public final var routeController: RouteController! {
    get {
        fatalError()
    }
    set {
        fatalError()
    }
}

但是navigationService不包含userIsOnRoute函数。是否有我可以使用的替代功能,或者这是一个错误?

最佳答案

此问题似乎是一个错误。基于@luugiathuy报告如果您将 SDK 更改为以下代码是否可以解决所有问题,语音和重新路由问题

index 47d8132..bc44ed7 100644
--- a/ios/Pods/MapboxCoreNavigation/MapboxCoreNavigation/NavigationService.swift
+++b/ios/Pods/MapboxCoreNavigation/MapboxCoreNavigation/NavigationService.swift
@@ -127,7 +127,7 @@ public protocol NavigationService: CLLocationManagerDelegate, RouterDataSo @objc(MBNavigationService)
public class MapboxNavigationService: NSObject, NavigationService, DefaultInterfaceFlag {

-    typealias DefaultRouter = RouteController
+    typealias DefaultRouter = LegacyRouteController

 /**
  The default time interval before beginning simulation when the `.onPoorGPS` simulation

MapboxNavigationService中将RouteController更改为LegacyRouteController,一切都会按预期工作。

这个问题已经持续了近 4 个月,修改 SDK 并不是一个好主意,但在 Mapbox 解决这个问题之前,这是一个替代解决方案。

关于ios - Mapbox 导航、iOS SDK 中的重新路由问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58898082/

相关文章:

php - 对 fullcalendar.io 使用普通 PHP 路由 (&) 和 symfony 路由 (/)

javascript - @Get ('*' ) 不匹配空 (NestJS)

ruby-on-rails - Rails 5 - 嵌套路由 - Controller 的未初始化常量

iOS 自制框架可以包含其他第三方框架吗?

python - 是否有适用于 Azure Synapse 的 Python SDK?

ios - UIImageView使用UICollectionView淡入淡出动画

ios - 如何加载具有透明背景颜色的 UIViewController?

ios - 检测贝塞尔曲线路径内的水龙头

ios - 关闭 UIPrintInteractionController

Android SDK 安装包报错