fix conflict

This commit is contained in:
lixiaopeng
2021-04-23 18:43:32 +08:00
parent cc08ef6a14
commit 390da88ced
13 changed files with 356 additions and 7 deletions

View File

@@ -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;
}

View File

@@ -1037,4 +1037,9 @@ public class AMapNaviViewWrapper implements IMogoMapView,
mMapView.getMap().moveCamera( CameraUpdateFactory.changeBearing( bearing ) );
}
}
@Override
public void setAdasRecognizedResult(String result) {
//liyz
}
}

View File

@@ -810,4 +810,9 @@ public class AMapViewWrapper implements IMogoMapView,
mMapView.getMap().moveCamera( CameraUpdateFactory.changeBearing( bearing ) );
}
}
@Override
public void setAdasRecognizedResult(String result) {
//liyz
}
}

View File

@@ -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;

View File

@@ -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,6 +37,7 @@ 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.zhidaoauto.map.sdk.open.MapAutoApi;
import com.zhidaoauto.map.sdk.open.abs.MapStatusListener;
@@ -284,6 +287,15 @@ public class AMapViewWrapper implements IMogoMapView,
}
private ADASRecognizedResultConvert mAdasResultConvert;
@Override
public void setAdasRecognizedResult(String result) {
Log.d("liyz", "------- setAdasRecognizedResult ------>");
mAdasResultConvert = GsonUtil.objectFromJson(result, ADASRecognizedResultConvert.class);
}
@Override
public void setTrafficEnabled(boolean visible) {
if (checkAMapView()) {
@@ -759,12 +771,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 +1019,7 @@ public class AMapViewWrapper implements IMogoMapView,
}
}
//TODO
@Override
public void syncLocation2Map(JSONObject data) {
if (!checkAMapView()) {

View File

@@ -357,4 +357,11 @@ public class AMapUIController implements IMogoMapUIController {
mClient.clearRoadCacheById(id);
}
}
@Override
public void setAdasRecognizedResult(String result) {
if (mClient != null) {
mClient.setAdasRecognizedResult(result);
}
}
}

View File

@@ -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 经度

View File

@@ -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);
}
}
}

View File

@@ -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(),

View File

@@ -0,0 +1,107 @@
package com.mogo.module.common.entity;
/**
* @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;
}

View File

@@ -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();

View File

@@ -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
@@ -66,7 +78,8 @@ import java.util.Map;
public class MapMarkerManager implements IMogoMarkerClickListener,
IMogoOnMessageListener< MarkerResponse >,
IMogoBizActionDoneListener,
IMogoADASControlStatusChangedListener {
IMogoADASControlStatusChangedListener,
IMogoCarLocationChangedListener2 {
private static final String TAG = "MapMarkerManager";
private Context mContext;
@@ -113,7 +126,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
CloudPoiManager.getInstance().updateFromConfig( context );
MarkerServiceHandler.getActionManager().registerBizActionDoneListener( this );
MarkerServiceHandler.getApis().getRegisterCenterApi().registerADASControlStatusChangedListener( TAG, this );
MogoApisHandler.getInstance().getApis().getRegisterCenterApi().registerCarLocationChangedListener(TAG, this);
if ( CallChatApi.getInstance().getApiProvider() != null ) {
CallChatApi.getInstance().getApiProvider().registerUserWindowStatusListener( TAG, mContext, new ICallChatResponse() {
@@ -153,14 +166,79 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
MarkerServiceHandler.getApis().getAdasControllerApi().addAdasRecognizedDataCallback( resultList -> {
// 绘制近景识别到的车辆
AdasRecognizedResultDrawer.getInstance().renderAdasRecognizedResult( resultList );
//绘制他车的线 lixp TODO
//绘制他车的线 liyz TODO
//添加自车的定位图标 TODO
//添加自车的定位图标,碰撞只有一个预警 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));
} );
}
@Override
public void onCarLocationChanged2(Location latLng) {
Log.d("liyz", "long =" + latLng.getLongitude() + "---lat = " + latLng.getLatitude());
MarkerLocation location = new MarkerLocation();
location.setLat(latLng.getLatitude());
location.setLon(latLng.getLongitude());
MarkerShowEntity markerShowEntity = new MarkerShowEntity();
markerShowEntity.setMarkerLocation(location);
markerShowEntity.setMarkerType(TYPE_MARKER_CLOUD_WARN_DATA);
IMogoMarker marker = drawMarker(markerShowEntity);
WorkThreadHandler.getInstance().postDelayed(() -> {
int resId = getModelRes(6);
marker.use3DResource( resId );
}, 10000);
}
@Override
public void onCarLocationChanged(MogoLatLng latLng) {
}
public IMogoMarker drawMarker(MarkerShowEntity markerShowEntity) {
MogoMarkerOptions options = new MogoMarkerOptions()
.object(markerShowEntity)
.latitude(markerShowEntity.getMarkerLocation().getLat())
.longitude(markerShowEntity.getMarkerLocation().getLon());
IMarkerView iMarkerView = MapMarkerAdapter.getMarkerView(mContext, markerShowEntity, options);
options.icon3DRes(getModelRes(6)); //TODO
options.anchorColor("#FB3C3CFF"); //红色#FF3036 蓝色:#256BFF
IMogoMarker marker = MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager(mContext).addMarker(markerShowEntity.getMarkerType(), options);
iMarkerView.setMarker(marker);
marker.setToTop();
return marker;
}
public int getModelRes(int type) {
AdasRecognizedType recognizedType = AdasRecognizedType.valueFrom(type);
if (recognizedType == AdasRecognizedType.classIdCar
|| recognizedType == AdasRecognizedType.classIdTrafficTruck) {
return com.mogo.module.common.R.raw.othercar;
} else if (recognizedType == AdasRecognizedType.classIdTrafficBus) {
return com.mogo.module.common.R.raw.bus;
} else if (recognizedType == AdasRecognizedType.classIdBicycle
|| recognizedType == AdasRecognizedType.classIdMoto) {
return com.mogo.module.common.R.raw.motorbike;
} else if (recognizedType == AdasRecognizedType.classIdStopLine) {
return com.mogo.module.common.R.raw.stopline;
} else if (recognizedType == AdasRecognizedType.classIdWarningArrows) {
return com.mogo.module.common.R.raw.arraw;
}
return com.mogo.module.common.R.raw.people;
}
private Handler mSnapshotHandler = new Handler( WorkThreadHandler.newInstance( "snapshot-thread" ).getLooper() ) {
@Override
public void handleMessage( Message msg ) {

View File

@@ -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() );