[2.13.2] add func of identify aicloud data

This commit is contained in:
zhongchao
2023-01-10 16:35:00 +08:00
parent 775ec4be60
commit 98c85d9ee5
16 changed files with 346 additions and 37 deletions

View File

@@ -5,6 +5,7 @@ import android.content.Context;
import android.graphics.Point;
import android.util.Pair;
import com.mogo.cloud.socket.entity.SocketDownData;
import com.mogo.eagle.core.data.config.FunctionBuildConfig;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
@@ -124,6 +125,24 @@ public class AMapWrapper implements IMogoMap {
MarkerHelper.INSTANCE.updateBatchMarkerPositon(markerOptionsArrayList, false, FunctionBuildConfig.isBeautyMode ? 8.0f : 0f, 1, time, 1);
}
@SuppressLint("NewApi")
@Override
public void updateBatchAiMarkerPosition(HashMap<String, SocketDownData.CloudRoadDataProto> optionsArrayList) {
if (!checkAMap()) {
return;
}
ArrayList<MarkerSimpleData> markerOptionsArrayList = new ArrayList<>();
optionsArrayList.forEach((s, trackedObject) -> {
MarkerSimpleData markerOptions = ObjectUtils.fromAiData(trackedObject);
if (markerOptions != null) {
markerOptionsArrayList.add(markerOptions);
}
});
long time = markerOptionsArrayList.get(0).getTime();
MarkerHelper.INSTANCE.updateBatchMarkerPositon(markerOptionsArrayList, false, FunctionBuildConfig.isBeautyMode ? 8.0f : 0f, 1, time, 1);
}
@Override
public String addPreVehicleModel(int type, int modelRes) {
try {

View File

@@ -2,6 +2,7 @@ package com.mogo.map;
import android.content.Context;
import com.mogo.cloud.socket.entity.SocketDownData;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.function.call.v2x.CallMarkersClearManager;
import com.mogo.map.marker.IMogoMarker;
@@ -79,6 +80,15 @@ public class MogoMarkerManager implements IMogoMarkerManager {
}
}
@Override
public void updateBatchAiMarkerPosition(HashMap<String, SocketDownData.CloudRoadDataProto> optionsArrayList) {
try {
MogoMap.getInstance().getMogoMap().updateBatchAiMarkerPosition(optionsArrayList);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public String addPreVehicleModel(int type, int modelRes) {
try {

View File

@@ -5,6 +5,7 @@ import android.graphics.Color;
import android.text.TextUtils;
import android.view.View;
import com.mogo.cloud.socket.entity.SocketDownData;
import com.mogo.eagle.core.data.map.CenterLine;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.data.map.MogoLocation;
@@ -142,6 +143,26 @@ public class ObjectUtils {
return markerOptions;
}
public static MarkerSimpleData fromAiData(SocketDownData.CloudRoadDataProto aiData) {
if (aiData == null) {
return null;
}
MarkerSimpleData markerOptions = null;
try {
markerOptions = new MarkerSimpleData();
markerOptions.setId(aiData.getUuid().hashCode());
markerOptions.setMarkerType(aiData.getType());
markerOptions.setRotateAngle((float) aiData.getHeading());
markerOptions.setLat(aiData.getWgslat());
markerOptions.setLon(aiData.getWgslon());
markerOptions.setTime(Double.valueOf(aiData.getSatelliteTime()).longValue());
markerOptions.setColor("#00000000");
} catch (Exception e) {
e.printStackTrace();
}
return markerOptions;
}
private static BitmapDescriptor getBitmapDescriptorFromMogo(MogoMarkerOptions options) {
if (options == null) {
return null;