我希望我的用户能够在出发时间和到达时间之间切换。但是,当我在routeOptions.setTime中发送带有TimeType.ARRIVAL的路由计划请求时,它给了我一个INVALID_PARAMETERS错误。但是与TimeType.DEPARTURE完全相同的请求可以正常工作。
下面是我的代码。我是在做错什么,还是TimeType.ARRIVAL被弃用或只是无法正常工作?
RoutePlan routePlan = new RoutePlan();
RouteOptions routeOptions = new RouteOptions();
routeOptions.setTransportMode(RouteOptions.TransportMode.PUBLIC_TRANSPORT);
routeOptions.setRouteType(RouteOptions.Type.FASTEST);
routeOptions.setRouteCount(3);
routeOptions.setLocale(Locale.getDefault());
if (toggleSwitch.getCheckedTogglePosition() == 0) {
routeOptions.setTime(selected_time, RouteOptions.TimeType.DEPARTURE);
}
else {
routeOptions.setTime(selected_time, RouteOptions.TimeType.ARRIVAL);
}
routePlan.setRouteOptions(routeOptions);
// Select Waypoints for your routes
routePlan.addWaypoint(new RouteWaypoint(start_address_coordinate));
routePlan.addWaypoint(new RouteWaypoint(end_address_coordinate));
router.calculateRoute(routePlan, new RouterListener());
答案 0 :(得分:0)
ARRIVAL时间类型选项仅受UMRouteOptions支持。在请求路由时,在RouteOptions.setTime(Date,TimeType)中使用此值以及不支持的RouteOptions会导致RoutingError.INVALID_PARAMETERS。
因此,您遇到的错误是预期的行为。请按照HERE documentation更正您的代码。