Я использую HereMap
SDK для рисования пути от места к другому месту (возможно, у него есть путевые точки на пути) внутри моей страны (Вьетнам). Однако результаты маршрутизации, которые я получаю от API, - это путь, который проходит через Лаос, Камбоджу (соседние страны Вьетнама). Я просто хочу, чтобы результаты маршрутов были путями во Вьетнаме. Я прочитал HereMap
документ, но не нашел решения или связанных с ним методов для этого. Я надеюсь получить решение от вас, большое спасибо!
Это мой код для расчета маршрутов:
CoreRouter router = new CoreRouter();
// Create the RoutePlan and add two waypoints
RoutePlan routePlan = new RoutePlan();
for (AppContext.WDContext.WDLocation location : wdLocations) {
routePlan.addWaypoint(new RouteWaypoint(new GeoCoordinate(location.latitude, location.longitude)));
}
// Create the RouteOptions and set its transport mode & routing type
RouteOptions routeOptions = new RouteOptions();
routeOptions.setTransportMode(RouteOptions.TransportMode.CAR);
routeOptions.setRouteType(RouteOptions.Type.BALANCED); //I have also tried FASTEST and SHORTEST types
routePlan.setRouteOptions(routeOptions);
router.calculateRoute(routePlan, new Router.Listener<List<RouteResult>, RoutingError>() {
@Override
public void onProgress(int i) {
}
@Override
public void onCalculateRouteFinished(List<RouteResult> routeResults, RoutingError routingError) {
// If the route was calculated successfully
if (routingError == RoutingError.NONE) {
// Render the route on the map
List<GeoCoordinate> coordinates = routeResults.get(0).getRoute().getRouteGeometry();
List<RoutingZone> zones = routeResults.get(0).getRoute().getRoutingZones();
// create GeoPolyline with list of GeoCoordinates
GeoPolyline geoPolyline = new GeoPolyline(coordinates);
MapPolyline polyline = new MapPolyline(geoPolyline);
polyline.setLineWidth(8);
// add GeoPolyline to current active map
mHereMap.addMapObject(polyline);
GeoBoundingBox boundingBox = routeResults.get(0).getRoute()
.getBoundingBox();
mHereMap.zoomTo(boundingBox, Map.Animation.NONE,40);
mHereMap.setPadding(40,40,40,40);
} else {
// Display a message indicating route calculation failure
NotificationHelper.getInstance().showBottomError("error - " + routingError.toString());
}
}
});