微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NMACoreRouter 自动添加 .preferBoatFerry 作为 NMARoutingOptions

如何解决NMACoreRouter 自动添加 .preferBoatFerry 作为 NMARoutingOptions

我正在使用 HERE iOS SDK Premium (v3.18.2.92) 开发 iOS 应用

使用 NMARoutingOptions 进行路由计算时,NMACoreRouter 会自动添加 .preferBoatFerry。这发生在汽车和卡车导航中。这是故意的吗?

class NMARouterTest: XCTestCase {

    func testTruckRouting() throws {
        let didCalculationEnd = expectation(description: #function)

        let start: NMAGeoCoordinates = NMAGeoCoordinates(latitude:48.7450811,longitude:9.2135278)
        let end: NMAGeoCoordinates = NMAGeoCoordinates(latitude:48.7395846,longitude:9.3045532)
        let router = NMACoreRouter()
        
        var stops = [Any]()
        stops.append(start)
        stops.append(end)
        
        let routingOption = NMARoutingOption.init(rawValue: 0)
        let routingMode = NMARoutingMode(routingType: .fastest,transportMode: .truck,routingOptions: routingOption)
        
        router.calculateRoute(withStops: stops,routingMode: routingMode) { (routeResult: NMARouteResult?,nmaError: NMARoutingError) in
            
            XCTAssertEqual(nmaError,.none)
            XCTAssertNotNil(routeResult)
            XCTAssertNotNil(routeResult?.routes)
            
            guard let routes = routeResult?.routes else {
                didCalculationEnd.fulfill()
                return
            }

            for route in routes {
                XCTAssertEqual(route.routingMode.routingOptions,routingOption) // actual value is .preferBoatFerry
            }
            didCalculationEnd.fulfill()
        }
        
        wait(for: [didCalculationEnd],timeout: 5)
    }

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。