Java 这里是Android SDK-浏览;禁止“直达交通”;及;目录“无卡车”;街道

Java 这里是Android SDK-浏览;禁止“直达交通”;及;目录“无卡车”;街道,java,android,navigation,here-api,Java,Android,Navigation,Here Api,一个简短的问题,希望有人能回答: 在卡车运输模式下,如何使用具有DIR_NO_CARS、NO_through_TRAFFIC、DIR_NO_TRUCKS属性的Here Android SDK Premium through road elemts导航?就像我是一辆特殊的车,我可以在这些道路上行驶 我的代码如下所示: 公共类暂存扩展了AppCompatActivity{ @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(saved

一个简短的问题,希望有人能回答:

在卡车运输模式下,如何使用具有DIR_NO_CARS、NO_through_TRAFFIC、DIR_NO_TRUCKS属性的Here Android SDK Premium through road elemts导航?就像我是一辆特殊的车,我可以在这些道路上行驶

我的代码如下所示:

公共类暂存扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AndroidXMapFragment mapFragment=(AndroidXMapFragment)getSupportFragmentManager().findFragmentById(R.id.mapFragment);
布尔成功=com.here.android.mpa.common.MapSettings.setIsolatedDiskCacheRootPath(
getApplicationContext(),
“主要活动”);
System.out.println(成功);
init(新的OnEngineInitListener(){
@凌驾
已完成公共初始化(
OnEngineInitListener.Error(错误){
if(error==OnEngineInitListener.error.NONE){
//现在地图可以使用了
Map Map=mapFragment.getMap();
for(字符串sheme:map.getMapSchemes()){
Log.d(“定制”,sheme);
}
地图设置图方案(“行人日”);
setMapDisplayLanguage(Locale.GERMANY);
//显示当前位置标记
PositioningManager.getInstance().start(PositioningManager.LocationMethod.GPS\U网络);
mapFragment.getPositionIndicator().setVisible(true);
//路由
地理坐标起点=新的地理坐标(50.992189,10.999966);
地理坐标目标=新的地理坐标(51.001224,10.990920);
//路由的开始-结束标记
MapLabeledMarker Marker start=新的MapLabeledMarker(开始)
.setLabelText(map.getMapDisplayLanguage(),“开始”)
.setIcon(IconCategory.ALL);
markerStart.setZIndex(12);
addMapObject(markerStart);
MapLabeledMarker markerTarget=新的MapLabeledMarker(目标)
.setLabelText(map.getMapDisplayLanguage(),“End”)
.setIcon(IconCategory.ALL);
markerTarget.setZIndex(12);
addMapObject(markerTarget);
CoreRouter路由器=新CoreRouter();
router.SetDynamicEnable(针对TreetArea的新惩罚)(
router.getDynamicPenalty(),
新地理坐标(51.001137,10.989901),
新地理坐标(50.992582,10.999338),
map.getMapDisplayLanguage(),
“即时消息”,
DrivingDirection.DIR_两者,
70
));
RouteOptions RouteOptions=新RouteOptions();
routeOptions.setTransportMode(routeOptions.TransportMode.TRUCK);
routeOptions.setRouteType(routeOptions.Type.FASTEST);
routeOptions.setCarpoolAllowed(false);
routeOptions.setCarShuttleTrainsAllowed(假);
routeOptions.setDirtRoadsAllowed(true);
线路选项。设置线路长度(6.590f);
路线选项。设置卡车宽度(2.150f);
路线选项。设置结构高度(2.150f);
routeOptions.setTruckTrailersCount(0);
routeOptions.setTruckDifficultTurnsAllowed(true);
routeOptions.setRouteCount(2);
RoutePlan RoutePlan=新的RoutePlan();
routePlan.setRouteOptions(路由选项);
routePlan.addWaypoint(新航路点(起点));
routePlan.addWaypoint(新航路点(目标));
类RouteListener实现CoreRouter.Listener{
//侦听器中定义的方法
公共进度(整数百分比){
//显示指示计算进度的消息
Log.d(“自定义”,百分比+”);
}
//侦听器中定义的方法
@凌驾
CalculateRouteFinished上的公共void(列出routeResult,RoutingError错误){
//如果路线计算成功
if(error==RoutingError.NONE){
//在地图上渲染路线
Log.d(“自定义”,routeResult.size()+“已计算的路由”);
for(RouterResult结果:RouterResult){
MapRoute MapRoute=新的MapRoute(result.getRoute());
setColor(Color.argb(100201,42,42));
mapRoute.setZIndex(10);
if(routeResult.indexOf(result)==0){
//最佳路线
setColor(Color.argb(255、201、42、42));
mapRoute.setZIndex(11);
}
map.addMapObject(mapRoute);
}
}
否则{
[DIR_NO_CARS, DIRT_ROAD, NO_THROUGH_TRAFFIC, DIR_NO_TRUCKS]
 GET http://cre.api.here.com/2/overlays/upload.json
  ?map_name=OVERLAYBLOCKROAD
  &overlay_spec=[{"op":"override","shape":[[50.10765,8.68774],[50.10914,8.68771]],"layer":"LINK_ATTRIBUTE_FCN","data":{"VEHICLE_TYPES":"49"}}]
  &storage=readonly
  &app_id={YOUR_APP_ID}
  &app_code={YOUR_APP_CODE}
FTCRRouter ftcrRoute = new FTCRRouter();
FTCRRouter.RequestParameters parmaters =new
FTCRRouter.RequestParameters(routePlan,"OVERLAYBLOCKROAD",true);
ftcrRoute.calculateRoute(parmaters, new FTCRRouter.Listener() {
    @Override
    public void onCalculateRouteFinished(List<FTCRRoute> list,
                    FTCRRouter.ErrorResponse errorResponse) {
        if (errorResponse.getErrorCode() == RoutingError.NONE) {
            List<GeoCoordinate> shape = list.get(0).getGeometry();

            MapPolyline polyline = new MapPolyline();
            polyline.setGeoPolyline(new GeoPolygon(shape));
            polyline.setLineWidth(10);
            m_map.addMapObject(polyline);
        }else{
            // Error
        }
   }
});