diff --git a/core/function-impl/mogo-core-function-main/src/main/AndroidManifest.xml b/core/function-impl/mogo-core-function-main/src/main/AndroidManifest.xml
index 4a4c78a268..b439da6d85 100644
--- a/core/function-impl/mogo-core-function-main/src/main/AndroidManifest.xml
+++ b/core/function-impl/mogo-core-function-main/src/main/AndroidManifest.xml
@@ -9,7 +9,7 @@
-
+
trafficData) {
try {
- if (trafficData == null) {
- IdentifyDataDrawer.getInstance().clearOldMarker();
- } else {
- if (FunctionBuildConfig.isDrawIdentifyData) {
- ThreadUtils.getSinglePool().execute(() ->
- IdentifyDataDrawer.getInstance().renderAdasRecognizedResult(trafficData)
- );
- } else {
- IdentifyDataDrawer.getInstance().clearOldMarker();
- }
+ if (FunctionBuildConfig.isDrawIdentifyData) {
+ ThreadUtils.getSinglePool().execute(() ->
+ IdentifyDataDrawer.getInstance().renderAdasRecognizedResult(trafficData)
+ );
}
} catch (Exception e) {
e.printStackTrace();
- IdentifyDataDrawer.getInstance().clearOldMarker();
}
}
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/IdentifyDataDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/IdentifyDataDrawer.java
index e42f534646..64a3d07820 100644
--- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/IdentifyDataDrawer.java
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/IdentifyDataDrawer.java
@@ -1,13 +1,13 @@
package com.mogo.module.common.drawer;
import android.content.Context;
-import android.text.TextUtils;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.eagle.core.data.enums.TrafficTypeEnum;
import com.mogo.eagle.core.data.traffic.TrafficData;
import com.mogo.module.common.MogoApisHandler;
+import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.logger.Logger;
import java.util.ArrayList;
@@ -62,6 +62,7 @@ public class IdentifyDataDrawer {
public void renderAdasRecognizedResult(ArrayList resultList) {
if (resultList == null || resultList.isEmpty() || !DebugConfig.isUseAdasRecognize()) {
clearOldMarker();
+ Logger.w(TAG, "感知数据为空无需渲染……");
return;
}
@@ -100,19 +101,6 @@ public class IdentifyDataDrawer {
}
- /**
- * 过滤无用数据
- *
- * @param recognizedListResult {@link TrafficData}
- * @return useless
- */
- private boolean isUselessValue(TrafficData recognizedListResult) {
- if (recognizedListResult == null) {
- return true;
- }
- String uniqueKey = recognizedListResult.getUuid();
- return TextUtils.isEmpty(uniqueKey);
- }
/**
* 清除旧的 marker 数据
@@ -124,42 +112,45 @@ public class IdentifyDataDrawer {
}
private void addPreVehicleModel() {
- MogoApisHandler.getInstance().getApis()
- .getMapServiceApi()
- .getMarkerManager(mContext)
- .addPreVehicleModel(TrafficTypeEnum.TYPE_TRAFFIC_ID_WEI_ZHI.getType(),
- TrafficTypeEnum.TYPE_TRAFFIC_ID_WEI_ZHI.getTraffic3DIconId());
- MogoApisHandler.getInstance().getApis()
- .getMapServiceApi()
- .getMarkerManager(mContext)
- .addPreVehicleModel(TrafficTypeEnum.TYPE_TRAFFIC_ID_PEOPLE.getType(),
- TrafficTypeEnum.TYPE_TRAFFIC_ID_PEOPLE.getTraffic3DIconId());
- MogoApisHandler.getInstance().getApis()
- .getMapServiceApi()
- .getMarkerManager(mContext)
- .addPreVehicleModel(TrafficTypeEnum.TYPE_TRAFFIC_ID_BICYCLE.getType(),
- TrafficTypeEnum.TYPE_TRAFFIC_ID_BICYCLE.getTraffic3DIconId());
- MogoApisHandler.getInstance().getApis()
- .getMapServiceApi()
- .getMarkerManager(mContext)
- .addPreVehicleModel(TrafficTypeEnum.TYPE_TRAFFIC_ID_TA_CHE.getType(),
- TrafficTypeEnum.TYPE_TRAFFIC_ID_TA_CHE.getTraffic3DIconId());
- MogoApisHandler.getInstance().getApis()
- .getMapServiceApi()
- .getMarkerManager(mContext)
- .addPreVehicleModel(TrafficTypeEnum.TYPE_TRAFFIC_ID_MOTO.getType(),
- TrafficTypeEnum.TYPE_TRAFFIC_ID_MOTO.getTraffic3DIconId());
- MogoApisHandler.getInstance().getApis()
- .getMapServiceApi()
- .getMarkerManager(mContext)
- .addPreVehicleModel(TrafficTypeEnum.TYPE_TRAFFIC_ID_BUS.getType(),
- TrafficTypeEnum.TYPE_TRAFFIC_ID_BUS.getTraffic3DIconId());
- MogoApisHandler.getInstance().getApis()
- .getMapServiceApi()
- .getMarkerManager(mContext)
- .addPreVehicleModel(TrafficTypeEnum.TYPE_TRAFFIC_ID_TRUCK.getType(),
- TrafficTypeEnum.TYPE_TRAFFIC_ID_TRUCK.getTraffic3DIconId());
+ Logger.d(TAG, "添加感知模型到地图中……");
+ addPreVehicleModelWeiZhi(TrafficTypeEnum.TYPE_TRAFFIC_ID_WEI_ZHI, "添加感知模型到地图中……preVehicleStrWeiZhi=");
+ addPreVehicleModelWeiZhi(TrafficTypeEnum.TYPE_TRAFFIC_ID_PEOPLE, "添加感知模型到地图中……preVehicleStrPeople=");
+
+ addPreVehicleModelWeiZhi(TrafficTypeEnum.TYPE_TRAFFIC_ID_BICYCLE, "添加感知模型到地图中……preVehicleStrBicycle=");
+
+ addPreVehicleModelWeiZhi(TrafficTypeEnum.TYPE_TRAFFIC_ID_TA_CHE, "添加感知模型到地图中……preVehicleStrTaChe=");
+
+ addPreVehicleModelWeiZhi(TrafficTypeEnum.TYPE_TRAFFIC_ID_MOTO, "添加感知模型到地图中……preVehicleStrMoto=");
+
+ addPreVehicleModelWeiZhi(TrafficTypeEnum.TYPE_TRAFFIC_ID_BUS, "添加感知模型到地图中……preVehicleStrBus=");
+
+ addPreVehicleModelWeiZhi(TrafficTypeEnum.TYPE_TRAFFIC_ID_TRUCK, "添加感知模型到地图中……preVehicleStrTruck=");
+ }
+
+ /**
+ * 添加模型到地图中
+ *
+ * @param typeTrafficIdWeiZhi
+ * @param s
+ */
+ private void addPreVehicleModelWeiZhi(TrafficTypeEnum typeTrafficIdWeiZhi, String s) {
+ String preVehicleStrWeiZhi = MogoApisHandler.getInstance().getApis()
+ .getMapServiceApi()
+ .getMarkerManager(mContext)
+ .addPreVehicleModel(typeTrafficIdWeiZhi.getType(),
+ typeTrafficIdWeiZhi.getTraffic3DIconId());
+ Logger.d(TAG, s + preVehicleStrWeiZhi);
+
+ if (preVehicleStrWeiZhi == null) {
+ UiThreadHandler.postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ Logger.w(TAG, "添加感知模型到地图中失败,尝试重复添加……");
+ addPreVehicleModelWeiZhi(typeTrafficIdWeiZhi, s);
+ }
+ }, 1000L);
+ }
}
}
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java
index 8cb9813950..7135b012ea 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java
@@ -45,13 +45,13 @@ class MogoMainService extends Service implements IMogoLocationListener {
mServiceApis = MogoApisHandler.getInstance().getApis();
initAndStartLocation();
UiThreadHandler.postDelayed(() -> {
- Logger.d(TAG, "4秒已过,启动基础服务……");
+ Logger.d(TAG, "5秒已过,启动基础服务……");
loadBaseModules();
startTanluService();
initADAS();
initGpsSimulatorListener();
HdMapBuildConfig.isMapLoaded = true;
- }, 4_000L
+ }, 5_000L
);
// 开启延时检测
DelayCheckUtil delayCheckUtil = new DelayCheckUtil(this);