我有一个由多个“框”(或回避区域)组成的区域列表。我试图在计算路线时将这些框添加到回避选项中,但该路线似乎只是忽略回避区域并创建一条穿过回避区域的路线。
我尝试通过使用 GeoCoordinates 创建 GeoBox 对象将区域添加到回避选项中。
CarOptions carOptions = new CarOptions();
for (Area area : closest100Areas) {
for (Box box : area.getBoxes()) {
GeoCoordinates northEast = new GeoCoordinates(box.northEast.latitude, box.northEast.longitude);
GeoCoordinates southWest = new GeoCoordinates(box.southWest.latitude, box.southWest.longitude);
carOptions.avoidanceOptions.avoidAreas.add(new GeoBox(southWest, northEast));
}
}
routingEngine.calculateRoute(waypoints, carOptions, new CalculateRouteCallback() {
@Override
public void onRouteCalculated(@Nullable RoutingError routingError, @Nullable List<Route> routes) {
if (routingError == null) {
Route route = routes.get(0);
showRouteDetails(route);
showRouteOnMap(route);
getManeuverInstructions(route);
logRouteViolations(route);
} else {
Log.e("Error while calculating a route:", routingError.toString());
}
}
});
所附图片显示了一个突出显示的回避区域,似乎被忽略了。我也不确定为什么会有明显的缺口,但这是一个单独的问题。