From 3ec9b359edaaf68c2ccb510f26213af50361211a Mon Sep 17 00:00:00 2001 From: lianglihui Date: Tue, 28 Sep 2021 20:28:13 +0800 Subject: [PATCH] =?UTF-8?q?eagle930=20=E8=B7=AF=E6=B5=8B=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/function/smp/SmallMapProvider.java | 1 + .../dispatch/DispatchAutoPilotManager.java | 6 +++-- .../routeoverlay/RouteOverlayDrawer.java | 24 +++++++++++++------ 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapProvider.java b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapProvider.java index cc32402ad7..8f1388a0c2 100644 --- a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapProvider.java +++ b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapProvider.java @@ -63,6 +63,7 @@ public class SmallMapProvider implements IMogoSmallMapProvider, IMogoStatusChang MogoServicePaths.PATH_SMALL_MAP, StatusDescriptor.MAIN_PAGE_RESUME, this); + MogoApisHandler.getInstance().getApis().getAdasControllerApi().addAdasAutopilotRouteCallBack(this); if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) { showPanel(); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/dispatch/DispatchAutoPilotManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/dispatch/DispatchAutoPilotManager.java index 09f4e7182a..f161bfe54a 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/dispatch/DispatchAutoPilotManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/dispatch/DispatchAutoPilotManager.java @@ -140,8 +140,10 @@ public class DispatchAutoPilotManager implements IMogoOnMessageListener wayLatLon = new ArrayList<>(); - for (MogoLatLng mogoLatLng : receiverBean.getStopsList()) { - wayLatLon.add(new RemoteControlAutoPilotParameters.AutoPilotLonLat(mogoLatLng.lat, mogoLatLng.lon)); + if (receiverBean!=null && receiverBean.getStopsList()!= null){ + for (MogoLatLng mogoLatLng : receiverBean.getStopsList()) { + wayLatLon.add(new RemoteControlAutoPilotParameters.AutoPilotLonLat(mogoLatLng.lat, mogoLatLng.lon)); + } } currentAutopilot.wayLatLons = wayLatLon; currentAutopilot.startLatLon = new RemoteControlAutoPilotParameters.AutoPilotLonLat(receiverBean.getStartLat(), receiverBean.getStartLon()); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java index a04e023e0f..c2664860ef 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java @@ -79,16 +79,26 @@ public class RouteOverlayDrawer { public IMogoPolyline draw(MogoLocation carLocal, List routelist) { clearMogoRouteOverlay(); if (routelist != null) { - - // 将当前车辆位置放进去 - mPolylinePointList.add(new MogoLatLng(carLocal.getLatitude(), carLocal.getLongitude())); - // 过滤后台推送的推荐路线集合 - for (MogoLatLng polyline : routelist) { - //需要剔除已经行驶过的经纬度,这里需要比对推荐路线集合中的点是否在当前车辆行驶方向前面如果不在则抛弃 - if (LocationUtils.isPointOnCarFront(carLocal, polyline)) { + if (carLocal == null){ + for (MogoLatLng polyline : routelist) { +// Log.e("IMogoPolyline",polyline.getLat()+":"+polyline.lon); + //需要剔除已经行驶过的经纬度,这里需要比对推荐路线集合中的点是否在当前车辆行驶方向前面如果不在则抛弃 mPolylinePointList.add(polyline); } + }else { + // 将当前车辆位置放进去 + mPolylinePointList.add(new MogoLatLng(carLocal.getLatitude(), carLocal.getLongitude())); + for (MogoLatLng polyline : routelist) { +// Log.e("IMogoPolyline",polyline.getLat()+":"+polyline.lon); + //需要剔除已经行驶过的经纬度,这里需要比对推荐路线集合中的点是否在当前车辆行驶方向前面如果不在则抛弃 + if (LocationUtils.isPointOnCarFront(carLocal, polyline)) { + mPolylinePointList.add(polyline); + } + } } + + // 过滤后台推送的推荐路线集合 + mPolylineColors.addAll(ColorUtils.getGradientAlpha("#002965ED", "#FF2965ED", "#002965ED", mPolylinePointList.size())); // 替换路径集合 mPolylineOptions.points(mPolylinePointList);