diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/speedlimit/SpeedLimitDataManager.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/speedlimit/SpeedLimitDataManager.java index 9144ac50b5..56879ae613 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/speedlimit/SpeedLimitDataManager.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/speedlimit/SpeedLimitDataManager.java @@ -40,11 +40,8 @@ public class SpeedLimitDataManager implements IMogoCarLocationChangedListener2 { UiThreadHandler.post(new Runnable() { @Override public void run() { - int speed = (int) (mLocation.getSpeed() * 3.6f); - if (speed > 0 && speedLimmit > 0){ + if (speedLimmit > 0){ CallerHmiManager.INSTANCE.showLimitingVelocity(speedLimmit); - }else { - CallerHmiManager.INSTANCE.disableLimitingVelocity(); } } }); 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 03560d8f22..fbd7a060ad 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 @@ -31,6 +31,7 @@ public class RouteOverlayDrawer { private RouteOverlayDrawer(Context context) { mPolylineOptions = new MogoPolylineOptions(); mPolylineOptions.zIndex(20000f); + mPolylineOptions.setGps(true); // 绘制路径集合 mPolylinePointList = new ArrayList<>(); // 引导线颜色 @@ -115,6 +116,7 @@ public class RouteOverlayDrawer { public void clearMogoRouteOverlay(){ if (mMoGoPolyline != null) { mMoGoPolyline.remove(); + mMoGoPolyline = null; mPolylinePointList.clear(); mPolylineColors.clear(); } @@ -125,19 +127,24 @@ public class RouteOverlayDrawer { } public void drawTrajectoryList(List routeList) { - clearMogoRouteOverlay(); +// clearMogoRouteOverlay(); + mPolylinePointList.clear(); if (routeList != null) { for (MogoLatLng latLng : routeList) { mPolylinePointList.add(latLng); } - mPolylineOptions.setGps(true); - mPolylineColors.addAll(ColorUtils.getGradientAlpha("#002965ED", "#FF2965ED", "#002965ED", mPolylinePointList.size())); - // 替换路径集合 - mPolylineOptions.points(mPolylinePointList); + if (mPolylineColors.isEmpty()){ + mPolylineColors.addAll(ColorUtils.getGradientAlpha("#002965ED", "#FF2965ED", "#002965ED", mPolylinePointList.size())); + } // 线条粗细,渐变,渐变色值 - mPolylineOptions.width(25).useGradient(true).colorValues(mPolylineColors); - // 绘制线 - mMoGoPolyline = mogoOverlayManager.addPolyline(mPolylineOptions); + mPolylineOptions.width(20).useGradient(true).colorValues(mPolylineColors); + if (mMoGoPolyline == null || mMoGoPolyline.isDestroyed()){ + mPolylineOptions.points(mPolylinePointList); + mMoGoPolyline = mogoOverlayManager.addPolyline(mPolylineOptions); + }else { + mMoGoPolyline.setPoints(mPolylinePointList); + } + } } }