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

在这里,卡车导航中的 iOS 车辆尺寸由 NMACoreRouter 更改漏洞?

如何解决在这里,卡车导航中的 iOS 车辆尺寸由 NMACoreRouter 更改漏洞?

我正在使用 HERE iOS SDK Premium (v3.18.2.92) 开发 iOS 应用。我想使用卡车导航,开始在NMARoutingMode类中设置车辆尺寸。

喜欢:

routingMode.vehicleLength = 25.25;
routingMode.vehicleWidth = 2.2;
routingMode.vehicleHeight = 2.6;
routingMode.limitedVehicleWeight = 1.2

在为我的应用程序添加一些测试用例时,我意识到我传入的车辆尺寸已被 NMACoreRouter 实例更改。似乎只有整米才能被接受为 3.0m 而不是 3.5m 的尺寸。

so 25.25 is changed to 25.0
so 2.2 is changed to 2.0
so 2.6 is changed to 2.0
so 1.2 is changed to 1.0

对我来说,这看起来像是一个错误

这就是我所做的:

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)
        routingMode.vehicleLength = 25.25;
        routingMode.vehicleWidth = 2.2;
        routingMode.vehicleHeight = 2.6;
        routingMode.limitedVehicleWeight = 1.2
        routingMode.resultLimit = 3
        routingMode.trailersCount = 0
        
        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.vehicleLength,25.25)
                XCTAssertEqual(route.routingMode.vehicleWidth,2.2)
                XCTAssertEqual(route.routingMode.vehicleHeight,2.6)
                XCTAssertEqual(route.routingMode.limitedVehicleWeight,1.2)
            }
            didCalculationEnd.fulfill()
        }
        
        wait(for: [didCalculationEnd],timeout: 5)
    }
}

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