This commit is contained in:
lixiaopeng
2021-04-23 21:32:13 +08:00
parent 48d5bc9044
commit b87d8f38ff
4 changed files with 14 additions and 183 deletions

View File

@@ -78,8 +78,7 @@ import static com.mogo.module.common.constants.DataTypes.TYPE_MARKER_CLOUD_WARN_
public class MapMarkerManager implements IMogoMarkerClickListener,
IMogoOnMessageListener< MarkerResponse >,
IMogoBizActionDoneListener,
IMogoADASControlStatusChangedListener,
IMogoCarLocationChangedListener2 {
IMogoADASControlStatusChangedListener {
private static final String TAG = "MapMarkerManager";
private Context mContext;
@@ -126,7 +125,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() {
@@ -166,79 +165,20 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
MarkerServiceHandler.getApis().getAdasControllerApi().addAdasRecognizedDataCallback( resultList -> {
// 绘制近景识别到的车辆
AdasRecognizedResultDrawer.getInstance().renderAdasRecognizedResult( resultList );
//绘制他车的线 liyz 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));
// 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 ) {