From 485a95561ad7fd6f5daff29273cf55ad2417ccf6 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Tue, 18 May 2021 10:28:32 +0800 Subject: [PATCH] fix bug --- libraries/map-custom/build.gradle | 2 +- libraries/map-custom/map-version-update | 11 +++- .../map/impl/custom/CustomMapApiBuilder.java | 2 +- .../drawer/AdasRecognizedResultDrawer.java | 50 ++++++++++--------- .../mogo/module/common/drawer/BaseDrawer.java | 5 +- .../common/drawer/SnapshotSetDataDrawer.java | 2 +- .../service/impl/adas/MogoADASController.java | 2 +- 7 files changed, 42 insertions(+), 32 deletions(-) diff --git a/libraries/map-custom/build.gradle b/libraries/map-custom/build.gradle index 66b78b879d..246dc89190 100644 --- a/libraries/map-custom/build.gradle +++ b/libraries/map-custom/build.gradle @@ -67,7 +67,7 @@ dependencies { implementation project(':foudations:mogo-commons') } - implementation 'com.zhidaoauto.machine:map:1.0.0-vr-8.5.22' + implementation 'com.zhidaoauto.machine:map:1.0.0-vr-8.5.25' // implementation 'com.zhidaoauto.machine:map:1.0.0-vr-test-3.4' } diff --git a/libraries/map-custom/map-version-update b/libraries/map-custom/map-version-update index 5d49b61d80..e4bc9e7ac6 100644 --- a/libraries/map-custom/map-version-update +++ b/libraries/map-custom/map-version-update @@ -22,4 +22,13 @@ mapAutoView.setOnMapViewVisualAngleChangeListener 8.5.22 修改自车模型 2D锚点缩放功能 -普通模式poi显示问题 \ No newline at end of file +普通模式poi显示问题 + +8.5.24 +优化渲染时间 +更新衡阳数据 +临时处理绘制3D模型策略 + +8.5.25 +修改远景下拖动地图偶现黑屏问题 +关闭部分多余日志 \ No newline at end of file diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java index a38eff0242..b2eaad0e6d 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java @@ -95,7 +95,7 @@ class CustomMapApiBuilder implements IMogoMapApiBuilder { public IMogoMapView getMapView( Context context ) { Log.d(TAG,"setDebugMode==true"); NavAutoApi.INSTANCE.init( context, MapParams.Companion.init() - .setDebugMode( true ) + .setDebugMode( false ) .setCoordinateType( MapParams.COORDINATETYPE_GCJ02 ) .setPerspectiveMode( MapParams.MAP_PERSPECTIVE_2D ) .setZoom( 20 ) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/AdasRecognizedResultDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/AdasRecognizedResultDrawer.java index 98f806c41f..a0e22ed242 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/AdasRecognizedResultDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/AdasRecognizedResultDrawer.java @@ -84,13 +84,16 @@ class AdasRecognizedResultDrawer extends BaseDrawer { for (ADASRecognizedResult recognizedListResult : resultList) { if (isUselessValue(recognizedListResult)) { - Logger.d(TAG, "存在uuid为空数据"); continue; } // 复用之前存在的 marker String uniqueKey = recognizedListResult.uuid; IMogoMarker marker = mMarkersCaches.remove(uniqueKey); + // 对之前的marker 更新资源 todo 后面涉及到此类变化的数据均改动 + int resId = getModelRes(recognizedListResult.type); + String resIdVal = resId + ""; + marker.use3DResource(resIdVal); if (marker != null && !marker.isDestroyed()) { renderAdasOneFrame(marker, uniqueKey, recognizedListResult, newAdasRecognizedMarkersCaches); } else { @@ -119,34 +122,33 @@ class AdasRecognizedResultDrawer extends BaseDrawer { String uniqueKey = recognizedListResult.uuid; Map.Entry entry = entryIterator.next(); entryIterator.remove(); - Logger.d(TAG, "复用 : remove markerCache , key : " + entry.getKey()); ADASRecognizedResult old = mLastPositions.remove(entry.getKey()); IMogoMarker marker = entry.getValue(); if (marker == null) { + Log.d("EmArrow", "存在复用marker为空数据"); continue; } // 复用,更新marker 3D资源 - if (old == null || old.type != recognizedListResult.type) { - String resIdVal = null; - int resId = getModelRes(recognizedListResult.type); - resIdVal = resId + ""; - String resName = mMarkerCachesResMd5Values.get(resIdVal); - if (!TextUtils.isEmpty(resName)) { - if (!TextUtils.equals(resName, marker.getMarkerResName())) { - marker.use3DResource(resName); - } - } else { - resName = marker.use3DResource(resId); - mMarkerCachesResMd5Values.put(resIdVal, resName); - } - } - +// if (old == null || old.type != recognizedListResult.type) { +// int resId = getModelRes(recognizedListResult.type); +// String resName = mMarkerCachesResMd5Values.get(resIdVal); +// if (!TextUtils.isEmpty(resName)) { +// if (!TextUtils.equals(resName, marker.getMarkerResName())) { +// marker.use3DResource(resName); +// } +// } else { +// resName = marker.use3DResource(resId); +// mMarkerCachesResMd5Values.put(resIdVal, resName); +// } +// } + int resId = getModelRes(recognizedListResult.type); + String resIdVal = resId + ""; + marker.use3DResource(resIdVal); renderAdasOneFrame(marker, uniqueKey, recognizedListResult, newAdasRecognizedMarkersCaches); } // 复用过后还需新增的 marker - for (int i = size; i < newDiffSetSize; i++) { ADASRecognizedResult recognizedListResult = newDiffSet.get(i); String uniqueKey = recognizedListResult.uuid; @@ -211,7 +213,7 @@ class AdasRecognizedResultDrawer extends BaseDrawer { Map newAdasRecognizedMarkersCaches) { final long start = System.currentTimeMillis(); - Log.d("EmArrow","renderAdasOneFrame uuid : "+ uniqueKey +" type : " + recognizedListResult.type); + Log.d("EmArrow", "renderAdasOneFrame uuid : " + uniqueKey + " type : " + recognizedListResult.type); ADASRecognizedResult lastPosition = mLastPositions.remove(uniqueKey); //todo 缓存数据太多 double lastLon = -1; double lastLat = -1; @@ -247,7 +249,7 @@ class AdasRecognizedResultDrawer extends BaseDrawer { marker.setAnchorColor(carColor); if (shouldShowSpeed(recognizedListResult.type)) { - showSelfSpeed(mContext, marker, recognizedListResult.speed, recognizedListResult.uuid, MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()); + showSelfSpeed(marker, recognizedListResult.speed, recognizedListResult.uuid, recognizedListResult.type, MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()); } } @@ -262,9 +264,8 @@ class AdasRecognizedResultDrawer extends BaseDrawer { return null; } - String resIdVal = null; int resId = getModelRes(recognizedListResult.type); - resIdVal = resId + ""; + String resIdVal = resId + ""; String carColor = recognizedListResult.color; if (TextUtils.isEmpty(carColor)) { @@ -277,12 +278,13 @@ class AdasRecognizedResultDrawer extends BaseDrawer { .gps(true) .anchorColor(carColor) .controlAngle(true) - .resName(mMarkerCachesResMd5Values.get(resIdVal)) +// .resName(mMarkerCachesResMd5Values.get(resIdVal)) + .resName(resIdVal) .icon3DRes(resId) .rotate((float) recognizedListResult.heading) .position(new MogoLatLng(recognizedListResult.lat, recognizedListResult.lon)); IMogoMarker marker = MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager(mContext).addMarker(DataTypes.TYPE_MARKER_ADAS, options); - cacheMarkerIconResMd5Val(resIdVal, marker); +// cacheMarkerIconResMd5Val(resIdVal, marker); return marker; } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/BaseDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/BaseDrawer.java index 7bde8455e1..08a68ba08d 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/BaseDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/BaseDrawer.java @@ -293,12 +293,11 @@ class BaseDrawer { /** * 展示车辆速度 * - * @param context 上下文 * @param mogoMarker {@link IMogoMarker} * @param speed 是否显示速度 * @param isVrMode 是否是vrMode */ - public void showSelfSpeed(Context context, IMogoMarker mogoMarker, double speed, String uuid, boolean isVrMode) { + public void showSelfSpeed(IMogoMarker mogoMarker, double speed, String uuid, int type, boolean isVrMode) { Log.d("EmArrow", "showSelf uuid : " + uuid + " speed : " + speed); if (mogoMarker == null || mogoMarker.isDestroyed()) { return; @@ -313,7 +312,7 @@ class BaseDrawer { return; } mogoMarker.setInfoWindowOffset(0, 20); - String text = speedIntVal + "\n" + uuid; + String text = speedIntVal + "\n" + uuid + "\n" + type; mSpeedView.setText(text); mogoMarker.updateInfoWindowView(mSpeedView); } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java index ff9f9d8cf2..47adc50e64 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java @@ -292,7 +292,7 @@ public class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClic marker.setAnchorColor(getModelRenderColor(cloudRoadData.getType(), cloudRoadData.getSpeed(), cloudRoadData.getWgslon(), cloudRoadData.getWgslat(), cloudRoadData.getHeading())); if (shouldShowSpeed(cloudRoadData.getType())) { - showSelfSpeed(mContext, marker, cloudRoadData.getSpeed(), cloudRoadData.getUuid(), MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()); + showSelfSpeed(marker, cloudRoadData.getSpeed(), cloudRoadData.getUuid(),cloudRoadData.getType(), MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()); } } diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java index 5cac95a849..3b3908d75b 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java @@ -193,7 +193,7 @@ public class MogoADASController implements IMogoADASController { model.setDrawlevel(bean.getDrawlevel()); //liyz data.add( model ); - + Log.d("ADAS原始数据","uuid : " + bean.getUuid() + " type : " + bean.getType()); Logger.d( TAG, "识别距离:x = %s, y = %s", model.getDistance_x(), model.getDistance_y() ); } }