Merge remote-tracking branch 'origin/dev2_aiSdk' into dev2_aiSdk
# Conflicts: # modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data.json # modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data_left.json # modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data_pedestrians.json
This commit is contained in:
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -8,7 +8,7 @@
|
||||
<asm skipDebug="false" skipFrames="false" skipCode="false" expandFrames="false" />
|
||||
<groovy codeStyle="LEGACY" />
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="JDK" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -0,0 +1,107 @@
|
||||
package com.mogo.commons.data;
|
||||
|
||||
/**
|
||||
* @author lixiaopeng
|
||||
* @description adas识别数据需要转换一下
|
||||
* @since 2021/4/23
|
||||
*/
|
||||
public class ADASRecognizedResultConvert {
|
||||
|
||||
/**
|
||||
* 识别物体类型
|
||||
*/
|
||||
public int type;
|
||||
|
||||
/**
|
||||
* 识别物体唯一标识
|
||||
*/
|
||||
public String uuid;
|
||||
|
||||
/**
|
||||
* 红绿灯颜色
|
||||
*/
|
||||
public String color;
|
||||
|
||||
/**
|
||||
* 车ID
|
||||
*/
|
||||
public String carId;
|
||||
|
||||
/**
|
||||
* 识别物体的纬度
|
||||
*/
|
||||
public double lat;
|
||||
|
||||
/**
|
||||
* 识别物体的经度
|
||||
*/
|
||||
public double lon;
|
||||
|
||||
/**
|
||||
* 车头朝向
|
||||
*/
|
||||
public double heading;
|
||||
|
||||
/**
|
||||
* 系统时间
|
||||
*/
|
||||
public long systemTime;
|
||||
|
||||
/**
|
||||
* 定位卫星时间
|
||||
*/
|
||||
public long satelliteTime;
|
||||
|
||||
/**
|
||||
* 海拔
|
||||
*/
|
||||
public double alt;
|
||||
|
||||
/**
|
||||
* 速度
|
||||
*/
|
||||
public double speed;
|
||||
|
||||
/**
|
||||
* 莫顿码
|
||||
*/
|
||||
public long mortonCode;
|
||||
|
||||
/**
|
||||
* 实际距离
|
||||
* 使用distanceX和distanceY计算
|
||||
*/
|
||||
public double distance;
|
||||
|
||||
/**
|
||||
* 数据来源精度
|
||||
* 0:普通定位
|
||||
* 1:高精定位
|
||||
*/
|
||||
public int dataAccuracy;
|
||||
|
||||
/**
|
||||
* 道路ID
|
||||
*/
|
||||
private String roadId;
|
||||
|
||||
/**
|
||||
* 车道ID-2D路段
|
||||
*/
|
||||
private String laneId;
|
||||
|
||||
/**
|
||||
* 车道号:中心线编号为0,中心线右侧编号为负数,3车道通行Road的车道编号,0,-1,-2,-3
|
||||
*/
|
||||
private int laneNum;
|
||||
|
||||
/**
|
||||
* 限速
|
||||
*/
|
||||
private double rateLimiting;
|
||||
|
||||
/**
|
||||
* 车道宽度
|
||||
*/
|
||||
private double roadWidth;
|
||||
}
|
||||
@@ -1037,4 +1037,14 @@ public class AMapNaviViewWrapper implements IMogoMapView,
|
||||
mMapView.getMap().moveCamera( CameraUpdateFactory.changeBearing( bearing ) );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getTileId(double lon, double lat) {
|
||||
return getMap().getUIController().getTileId(lon,lat);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAdasRecognizedResult(String result) {
|
||||
//liyz
|
||||
}
|
||||
}
|
||||
|
||||
@@ -810,4 +810,14 @@ public class AMapViewWrapper implements IMogoMapView,
|
||||
mMapView.getMap().moveCamera( CameraUpdateFactory.changeBearing( bearing ) );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getTileId(double lon, double lat) {
|
||||
return getMap().getUIController().getTileId(lon,lat);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAdasRecognizedResult(String result) {
|
||||
//liyz
|
||||
}
|
||||
}
|
||||
|
||||
@@ -299,6 +299,13 @@ public class AMapUIController implements IMogoMapUIController {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAdasRecognizedResult(String result) {
|
||||
if ( mClient != null ) {
|
||||
mClient.setAdasRecognizedResult(result);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getTileId(double lon, double lat) {
|
||||
return 0;
|
||||
|
||||
@@ -16,6 +16,8 @@ import android.view.ViewGroup;
|
||||
import android.view.animation.Interpolator;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.autonavi.nge.map.LonLat;
|
||||
import com.mogo.commons.data.ADASRecognizedResultConvert;
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
import com.mogo.map.IMogoMap;
|
||||
import com.mogo.map.IMogoMapView;
|
||||
@@ -35,7 +37,9 @@ import com.mogo.map.uicontroller.MapCameraPosition;
|
||||
import com.mogo.map.uicontroller.MapControlResult;
|
||||
import com.mogo.utils.TipToast;
|
||||
import com.mogo.utils.UiThreadHandler;
|
||||
import com.mogo.utils.WorkThreadHandler;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
import com.mogo.utils.network.utils.GsonUtil;
|
||||
import com.zhidaoauto.map.sdk.open.MapAutoApi;
|
||||
import com.zhidaoauto.map.sdk.open.abs.MapStatusListener;
|
||||
import com.zhidaoauto.map.sdk.open.abs.OnCameraChangeListener;
|
||||
@@ -284,6 +288,15 @@ public class AMapViewWrapper implements IMogoMapView,
|
||||
|
||||
}
|
||||
|
||||
private ADASRecognizedResultConvert mAdasResultConvert;
|
||||
|
||||
|
||||
@Override
|
||||
public void setAdasRecognizedResult(String result) {
|
||||
Log.d("liyz", "------- setAdasRecognizedResult ------>result = " + result);
|
||||
mAdasResultConvert = GsonUtil.objectFromJson(result, ADASRecognizedResultConvert.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTrafficEnabled(boolean visible) {
|
||||
if (checkAMapView()) {
|
||||
@@ -759,12 +772,20 @@ public class AMapViewWrapper implements IMogoMapView,
|
||||
}
|
||||
}
|
||||
|
||||
if (mSelfMarker == null) {
|
||||
if (mSelfMarker == null) { //TODO mAdasResultConvert
|
||||
// Log.d("liyz", "-------1------>");
|
||||
try {
|
||||
mSelfMarker = mMapView.getMapAutoViewHelper().getMyLocationStyle().getSelfMarker();
|
||||
mSelfMarker.setInfoWindowEnable(true);
|
||||
|
||||
} catch (Exception e) {
|
||||
}
|
||||
// } else {
|
||||
// Log.d("liyz", "-------2------>");
|
||||
// mSelfMarker.marker3DIcon(R.raw.people);
|
||||
// WorkThreadHandler.getInstance().postDelayed(() -> {
|
||||
// mSelfMarker.marker3DIcon(R.raw.people);
|
||||
// }, 10000);
|
||||
}
|
||||
showSelfSpeed(location.getSpeed());
|
||||
}
|
||||
@@ -999,6 +1020,7 @@ public class AMapViewWrapper implements IMogoMapView,
|
||||
}
|
||||
}
|
||||
|
||||
//TODO
|
||||
@Override
|
||||
public void syncLocation2Map(JSONObject data) {
|
||||
if (!checkAMapView()) {
|
||||
|
||||
@@ -357,4 +357,11 @@ public class AMapUIController implements IMogoMapUIController {
|
||||
mClient.clearRoadCacheById(id);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAdasRecognizedResult(String result) {
|
||||
if (mClient != null) {
|
||||
mClient.setAdasRecognizedResult(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import android.location.Location;
|
||||
import android.view.View;
|
||||
import android.view.animation.Interpolator;
|
||||
|
||||
import androidx.annotation.DrawableRes;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.mogo.map.MogoLatLng;
|
||||
@@ -237,6 +236,8 @@ public interface IMogoMapUIController {
|
||||
*/
|
||||
void changeBearing( float bearing );
|
||||
|
||||
void setAdasRecognizedResult(String result);
|
||||
|
||||
/**
|
||||
* 获取瓦片id
|
||||
* @param lon 经度
|
||||
|
||||
@@ -401,4 +401,12 @@ public class MogoMapUIController implements IMogoMapUIController {
|
||||
mDelegate.clearRoadCacheById(id);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAdasRecognizedResult(String result) {
|
||||
initDelegate();
|
||||
if (mDelegate != null) {
|
||||
mDelegate.setAdasRecognizedResult(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,7 +95,6 @@ public class V2XWarnDataDrawer extends BaseDrawer implements IMogoStatusChangedL
|
||||
MogoLatLng newLocation = Trigonometric.getNewLocation(mogoLatLng, 5, 180);
|
||||
|
||||
IMogoMarker marker = drawMarker(markerShowEntity);
|
||||
Log.d("liyz", "renderWarnData marker != null direction = " + data.getDirection());
|
||||
//识别物
|
||||
marker.addDynamicAnchorPosition(new MogoLatLng(
|
||||
data.getDirection() == 1 ? data.getStopLines().get(1).lat : data.getCollisionLat(),
|
||||
|
||||
@@ -271,8 +271,6 @@ public class MediaWindow implements MediaView{
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
|
||||
if (mWindowPlayPause != null){
|
||||
mWindowPlayPause.setImageResource(R.drawable.module_media_window_pop_pause);
|
||||
}
|
||||
|
||||
@@ -662,6 +662,7 @@ public class MockIntentHandler implements IntentHandler {
|
||||
mLocationMockHandler.sendEmptyMessageDelayed( 101, 100L );
|
||||
}
|
||||
|
||||
|
||||
public void onAdasCarDataCallback( ADASCarStateInfo stateInfo ) {
|
||||
if ( stateInfo != null && stateInfo.getValues() != null ) {
|
||||
JSONObject data = new JSONObject();
|
||||
|
||||
@@ -2,9 +2,11 @@ package com.mogo.module.service.marker;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Rect;
|
||||
import android.location.Location;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
@@ -12,9 +14,14 @@ import com.mogo.map.MogoLatLng;
|
||||
import com.mogo.map.marker.IMogoMarker;
|
||||
import com.mogo.map.marker.IMogoMarkerClickListener;
|
||||
import com.mogo.map.marker.IMogoMarkerManager;
|
||||
import com.mogo.map.marker.MogoMarkerOptions;
|
||||
import com.mogo.map.navi.IMogoCarLocationChangedListener2;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
import com.mogo.module.common.ModuleNames;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.module.common.api.CallChatApi;
|
||||
import com.mogo.module.common.constants.AdasRecognizedType;
|
||||
import com.mogo.module.common.drawer.AdasRecognizedResultDrawer;
|
||||
import com.mogo.module.common.drawer.MarkerDrawer;
|
||||
import com.mogo.module.common.drawer.OnlineCarDrawer;
|
||||
@@ -25,6 +32,7 @@ import com.mogo.module.common.drawer.marker.MapMarkerAdapter;
|
||||
import com.mogo.module.common.drawer.marker.OnlineCarMarkerView;
|
||||
import com.mogo.module.common.entity.MarkerCardResult;
|
||||
import com.mogo.module.common.entity.MarkerExploreWay;
|
||||
import com.mogo.module.common.entity.MarkerLocation;
|
||||
import com.mogo.module.common.entity.MarkerOnlineCar;
|
||||
import com.mogo.module.common.entity.MarkerResponse;
|
||||
import com.mogo.module.common.entity.MarkerShowEntity;
|
||||
@@ -35,6 +43,7 @@ import com.mogo.module.service.ServiceConst;
|
||||
import com.mogo.module.service.network.RefreshCallback;
|
||||
import com.mogo.module.service.network.RefreshModel;
|
||||
import com.mogo.realtime.api.MoGoAiCloudRealTime;
|
||||
import com.mogo.realtime.entity.ADASRecognizedResult;
|
||||
import com.mogo.realtime.entity.MogoSnapshotSetData;
|
||||
import com.mogo.realtime.socket.IMogoCloudOnMsgListener;
|
||||
import com.mogo.service.adas.IMogoADASControlStatusChangedListener;
|
||||
@@ -45,6 +54,7 @@ import com.mogo.utils.ThreadPoolService;
|
||||
import com.mogo.utils.UiThreadHandler;
|
||||
import com.mogo.utils.ViewUtils;
|
||||
import com.mogo.utils.WorkThreadHandler;
|
||||
import com.mogo.utils.network.utils.GsonUtil;
|
||||
import com.zhidao.carchattingprovider.ICallChatResponse;
|
||||
|
||||
import org.json.JSONArray;
|
||||
@@ -56,6 +66,8 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.mogo.module.common.constants.DataTypes.TYPE_MARKER_CLOUD_WARN_DATA;
|
||||
|
||||
/**
|
||||
* author : donghongyu
|
||||
* e-mail : 1358506549@qq.com
|
||||
@@ -153,10 +165,16 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
|
||||
MarkerServiceHandler.getApis().getAdasControllerApi().addAdasRecognizedDataCallback( resultList -> {
|
||||
// 绘制近景识别到的车辆
|
||||
AdasRecognizedResultDrawer.getInstance().renderAdasRecognizedResult( resultList );
|
||||
//绘制他车的线 lixp TODO
|
||||
|
||||
//添加自车的定位图标 TODO
|
||||
//绘制他车的线 liyz
|
||||
|
||||
//添加自车的定位图标,碰撞只有一个预警 TODO
|
||||
// ADASRecognizedResult result = null;
|
||||
// for (int i = 0; i < resultList.size(); i++) {
|
||||
// result = resultList.get(i);
|
||||
// }
|
||||
//
|
||||
// //通过这个传值 ADASRecognizedResult
|
||||
// MarkerServiceHandler.getApis().getMapServiceApi().getMapUIController().setAdasRecognizedResult(GsonUtil.jsonFromObject(result));
|
||||
|
||||
} );
|
||||
}
|
||||
|
||||
@@ -80,8 +80,7 @@ public class V2XWarningWindow extends V2XBasWindow implements IV2XWindow {
|
||||
break;
|
||||
}
|
||||
distance.setText(String.valueOf(mV2XWarningEntity.getDistance()) + "米");
|
||||
warningTextView.setText(mV2XWarningEntity.getWarningContent());
|
||||
mV2XWarningEntity.setTts(0);
|
||||
warningTextView.setText(mV2XWarningEntity.getWarningContent());//验证云端数据是否
|
||||
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice(mV2XWarningEntity.getTts());
|
||||
}
|
||||
//3秒后移除提示弹框
|
||||
|
||||
@@ -169,6 +169,7 @@ public class MogoADASController implements IMogoADASController {
|
||||
if ( bean == null ) {
|
||||
continue;
|
||||
}
|
||||
//liyz
|
||||
AdasAIDLOwnerCarRectModel model = new AdasAIDLOwnerCarRectModel();
|
||||
model.setId( bean.getId() );
|
||||
model.setXl( bean.getXl() );
|
||||
@@ -190,6 +191,8 @@ public class MogoADASController implements IMogoADASController {
|
||||
model.setSpeed( bean.getSpeed() );
|
||||
model.setDataAccuracy( bean.getDataAccuracy() );
|
||||
model.setDistance( bean.getDistance() );
|
||||
|
||||
|
||||
data.add( model );
|
||||
|
||||
Logger.d( TAG, "识别距离:x = %s, y = %s", model.getDistance_x(), model.getDistance_y() );
|
||||
|
||||
Reference in New Issue
Block a user