Javascript 仅在可能的情况下避免使用收费公路

Javascript 仅在可能的情况下避免使用收费公路,javascript,here-api,here-maps-rest,Javascript,Here Api,Here Maps Rest,我使用HERE.com路由API获取两点之间的路由。我在请求中使用了tollroad:-1功能。据我所知,这将试图避免收费公路,如果它不能避免收费公路,它将返回收费公路路线 例如,如果我试图计算“德国柏林”和“法国巴黎”之间的路线,我会得到以下错误: {“问题”:[{“消息”:“路由器未返回任何路由,错误:400:{”“U类型\”“:\“ns2:RoutingServiceErrorType\”,\“类型\”“ApplicationError\”,“subtype\”:“NoRouteFound

我使用HERE.com路由API获取两点之间的路由。我在请求中使用了tollroad:-1功能。据我所知,这将试图避免收费公路,如果它不能避免收费公路,它将返回收费公路路线

例如,如果我试图计算“德国柏林”和“法国巴黎”之间的路线,我会得到以下错误:

{“问题”:[{“消息”:“路由器未返回任何路由,错误:400:{”“U类型\”“:\“ns2:RoutingServiceErrorType\”,\“类型\”“ApplicationError\”,“subtype\”:“NoRouteFound\”,“详细信息\”“错误为NGEO错误图\u断开连接\u检查选项\”“附加数据\”“:[{”“键\”“错误代码\”“值\”“NGEO错误图\u检查选项”,\”“地图版本”是指“8.30.10.106.154.154”,“模块化转换”是指,“模块化转换”是指:“7.2.2.2022010-2010-6650\,,,,,,,,,,,,“接口转换”是指:“2.6.6.76\,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,_代码”:“400错误请求”}

这是来自calculateroute.json的请求

我想说清楚的是,如果没有办法避开收费公路(回避-1),那么返回一条有收费公路的路线。对此有什么意见或建议吗


提前感谢

看起来已经通过的模式存在问题。我猜从a点到B点之间有一条道路-标记为收费道路和卡车路线。免费道路和卡车路线的组合在该区域外没有可用的道路

如果出现这样的故障,请尝试放宽限制(卡车+包括通行费):例如,而不是=模式=最快的%3b卡车%3b交通:已禁用%3b公路:0使用以下选项之一:

Truck + toll - mode=fastest;truck;traffic:disabled;tollroad:0

看看你的论点,最好是简化一下你的呼叫。你不仅仅是说从a到B的路线并避开收费公路,你还有很多数据在里面,这可能会导致它不返回路线。@RaymondCamden,当我删除所有卡车规格属性时,我确实得到了一条路线。但是如果我不想删除它们呢?“通行费道路:-1”(避免)不应该返回带有通行费的路线,因为没有任何路线与约束匹配?但不应该通行费道路:-1(避免)如果没有找到与约束匹配的路线,则返回路线。正如更新&也许您可以提供帮助:当我从请求中删除卡车规格属性时,我确实得到了一条路线。但是如果我不想删除它们,该怎么办?我需要在请求中包含这些属性来计算通行费成本。我不知道该建议什么。如果必须删除路线,则你发送的东西,你什么也得不到,这可能是现实,对吧?也就是说,没有东西能满足你的需要。@RaymondCamden,我理解你的观点,这是有道理的。我的问题是,我100%知道a和B之间有一条收费路线(我们称之为R1)。当我使用模式时=“最快;卡车;交通:禁用;收费道路:-1”我希望算法不会找到没有通行费的路线,所以它会返回(R1)。但事实并非如此。这就是我的问题,为什么它会在结果中返回错误而不是route对象中的空数组。至少我从这里提到的“RouteFeatureWeightType”文档中了解到了这一点: