diff --git a/foudations/mogo-commons/build.gradle b/foudations/mogo-commons/build.gradle index 790d2b2598..7f4fbc1edc 100644 --- a/foudations/mogo-commons/build.gradle +++ b/foudations/mogo-commons/build.gradle @@ -42,6 +42,8 @@ dependencies { annotationProcessor rootProject.ext.dependencies.aroutercompiler implementation rootProject.ext.dependencies.rxjava implementation rootProject.ext.dependencies.accountsdk + api rootProject.ext.dependencies.mogoaicloudrealtime + if (Boolean.valueOf(RELEASE)) { implementation rootProject.ext.dependencies.mogoutils api rootProject.ext.dependencies.ttsbase diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/data/ADASRecognizedResultConvert.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/data/ADASRecognizedResultConvert.java deleted file mode 100644 index 8f95af1893..0000000000 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/data/ADASRecognizedResultConvert.java +++ /dev/null @@ -1,107 +0,0 @@ -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; -} diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java index a613ac51e8..353a895fcb 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java @@ -50,6 +50,7 @@ import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.map.uicontroller.MapCameraPosition; import com.mogo.map.uicontroller.MapControlResult; +import com.mogo.realtime.entity.ADASRecognizedResult; import com.mogo.utils.WindowUtils; import com.mogo.utils.logger.Logger; @@ -1044,7 +1045,7 @@ public class AMapNaviViewWrapper implements IMogoMapView, } @Override - public void setAdasRecognizedResult(String result) { - //liyz + public void setAdasRecognizedResult(ADASRecognizedResult result) { + } } diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java index 57c8ca3287..827d11b6e0 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java @@ -47,6 +47,7 @@ import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.map.uicontroller.MapCameraPosition; import com.mogo.map.uicontroller.MapControlResult; +import com.mogo.realtime.entity.ADASRecognizedResult; import com.mogo.utils.NetworkUtils; import com.mogo.utils.WindowUtils; import com.mogo.utils.logger.Logger; @@ -817,7 +818,7 @@ public class AMapViewWrapper implements IMogoMapView, } @Override - public void setAdasRecognizedResult(String result) { - //liyz + public void setAdasRecognizedResult(ADASRecognizedResult result) { + } } diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java index a3736b90b5..27daabc64b 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java @@ -14,6 +14,7 @@ import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.map.uicontroller.MapCameraPosition; import com.mogo.map.uicontroller.MapControlResult; +import com.mogo.realtime.entity.ADASRecognizedResult; import com.mogo.utils.logger.Logger; import java.util.List; @@ -300,7 +301,7 @@ public class AMapUIController implements IMogoMapUIController { } @Override - public void setAdasRecognizedResult(String result) { + public void setAdasRecognizedResult(ADASRecognizedResult result) { if ( mClient != null ) { mClient.setAdasRecognizedResult(result); } diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java index 3ed503ae0f..8b0023dcf1 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java @@ -16,8 +16,6 @@ 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 +33,7 @@ import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.map.uicontroller.MapCameraPosition; import com.mogo.map.uicontroller.MapControlResult; +import com.mogo.realtime.entity.ADASRecognizedResult; import com.mogo.utils.TipToast; import com.mogo.utils.UiThreadHandler; import com.mogo.utils.WorkThreadHandler; @@ -288,15 +287,6 @@ 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()) { @@ -773,7 +763,6 @@ public class AMapViewWrapper implements IMogoMapView, } if (mSelfMarker == null) { //TODO mAdasResultConvert -// Log.d("liyz", "-------1------>"); try { mSelfMarker = mMapView.getMapAutoViewHelper().getMyLocationStyle().getSelfMarker(); mSelfMarker.setInfoWindowEnable(true); @@ -781,15 +770,28 @@ public class AMapViewWrapper implements IMogoMapView, } catch (Exception e) { } // } else { -// Log.d("liyz", "-------2------>"); -// mSelfMarker.marker3DIcon(R.raw.people); // WorkThreadHandler.getInstance().postDelayed(() -> { // mSelfMarker.marker3DIcon(R.raw.people); // }, 10000); + +// if (mAdasResult.type == 1) { //通过不同的方向类型来改变车模,目前暂定三种模型,还未定 +// Log.d("liyz", "-------1------>") +// mSelfMarker.marker3DIcon(R.raw.people); +// } + } + showSelfSpeed(location.getSpeed()); } + private ADASRecognizedResult mAdasResult; + + @Override + public void setAdasRecognizedResult(ADASRecognizedResult result) { + mAdasResult = result; + } + + private TextView mSpeedView = null; private int mLastYOffset = 20; diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/uicontroller/AMapUIController.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/uicontroller/AMapUIController.java index 5aed07f73e..e2aa930e1b 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/uicontroller/AMapUIController.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/uicontroller/AMapUIController.java @@ -13,6 +13,7 @@ import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.map.uicontroller.MapCameraPosition; import com.mogo.map.uicontroller.MapControlResult; +import com.mogo.realtime.entity.ADASRecognizedResult; import com.zhidaoauto.map.sdk.open.MapAutoApi; import org.json.JSONObject; @@ -359,7 +360,7 @@ public class AMapUIController implements IMogoMapUIController { } @Override - public void setAdasRecognizedResult(String result) { + public void setAdasRecognizedResult(ADASRecognizedResult result) { if (mClient != null) { mClient.setAdasRecognizedResult(result); } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java index 77d1460bab..a5a53de416 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java @@ -11,6 +11,7 @@ import androidx.annotation.Nullable; import com.mogo.map.MogoLatLng; import com.mogo.map.marker.IMogoMarker; import com.mogo.map.marker.anim.OnMarkerAnimationListener; +import com.mogo.realtime.entity.ADASRecognizedResult; import org.json.JSONObject; @@ -236,7 +237,7 @@ public interface IMogoMapUIController { */ void changeBearing( float bearing ); - void setAdasRecognizedResult(String result); + void setAdasRecognizedResult(ADASRecognizedResult result); /** * 获取瓦片id diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java index 14b7db6a78..a92d3f251b 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java @@ -12,6 +12,7 @@ import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.map.uicontroller.MapCameraPosition; import com.mogo.map.uicontroller.MapControlResult; +import com.mogo.realtime.entity.ADASRecognizedResult; import com.mogo.utils.logger.Logger; import org.json.JSONObject; @@ -403,7 +404,7 @@ public class MogoMapUIController implements IMogoMapUIController { } @Override - public void setAdasRecognizedResult(String result) { + public void setAdasRecognizedResult(ADASRecognizedResult result) { initDelegate(); if (mDelegate != null) { mDelegate.setAdasRecognizedResult(result); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java index abbc83a430..c2046944b6 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java @@ -7,6 +7,7 @@ import com.mogo.map.location.IMogoLocationClient; import com.mogo.map.marker.IMogoMarker; import com.mogo.map.marker.IMogoMarkerManager; import com.mogo.map.navi.IMogoNavi; +import com.mogo.map.overlay.IMogoOverlayManager; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.drawer.MarkerDrawer; @@ -61,6 +62,7 @@ public class MarkerServiceHandler { private static IMogoFragmentManager sFragmentManager; private static ICarsChattingProvider sCarChatting; private static IV2XProvider sIV2XProvider; + private static IMogoOverlayManager sIMogoOverlayManager; // private static IMogoGpsSimulatorManager sGpsSimulatorManager; @@ -77,6 +79,7 @@ public class MarkerServiceHandler { sMogoSocketManager = sApis.getSocketManagerApi( context ); sMogoAnalytics = sApis.getAnalyticsApi(); sMarkerManager = sMapService.getMarkerManager( context ); + sIMogoOverlayManager = sMapService.getOverlayManager(context); sNavi = sMapService.getNavi( context ); sMapUIController = sMapService.getMapUIController(); sLocationClient = sMapService.getSingletonLocationClient( context ); @@ -87,7 +90,6 @@ public class MarkerServiceHandler { sADASController = sApis.getAdasControllerApi(); sLauncher = sApis.getLauncherApi(); sFragmentManager = sApis.getFragmentManagerApi(); - sCarChatting = ( ICarsChattingProvider ) ARouter.getInstance().build( CallChattingProviderConstant.CAR_CALL_PROVIDER ).navigation( context ); sIV2XProvider = sApis.getV2XListenerManager(); @@ -172,7 +174,15 @@ public class MarkerServiceHandler { return sCarChatting; } -// public static IMogoGpsSimulatorManager getGpsSimulatorManager() { + public static IMogoOverlayManager getsIMogoOverlayManager() { + return sIMogoOverlayManager; + } + + public static void setsIMogoOverlayManager(IMogoOverlayManager sIMogoOverlayManager) { + MarkerServiceHandler.sIMogoOverlayManager = sIMogoOverlayManager; + } + + // public static IMogoGpsSimulatorManager getGpsSimulatorManager() { // return sGpsSimulatorManager; // } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index 72db237f88..ec4f3ff48c 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -8,6 +8,7 @@ import android.os.Message; import android.text.TextUtils; import android.util.Log; +import com.mogo.cloud.commons.utils.CoordinateUtils; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.debug.DebugConfig; import com.mogo.map.MogoLatLng; @@ -16,6 +17,7 @@ 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.overlay.IMogoPolyline; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.module.common.ModuleNames; @@ -36,12 +38,15 @@ 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; +import com.mogo.module.common.entity.V2XWarningEntity; import com.mogo.module.common.utils.CloudPoiManager; +import com.mogo.module.common.utils.Trigonometric; import com.mogo.module.service.MarkerServiceHandler; import com.mogo.module.service.R; import com.mogo.module.service.ServiceConst; import com.mogo.module.service.network.RefreshCallback; import com.mogo.module.service.network.RefreshModel; +import com.mogo.module.service.polyline.LimberCollisionPolyline; import com.mogo.realtime.api.MoGoAiCloudRealTime; import com.mogo.realtime.entity.ADASRecognizedResult; import com.mogo.realtime.entity.MogoSnapshotSetData; @@ -62,6 +67,7 @@ import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -161,24 +167,58 @@ public class MapMarkerManager implements IMogoMarkerClickListener, msg.sendToTarget(); } } ); + // adas 每隔一秒传递的数据 MarkerServiceHandler.getApis().getAdasControllerApi().addAdasRecognizedDataCallback( resultList -> { // 绘制近景识别到的车辆 AdasRecognizedResultDrawer.getInstance().renderAdasRecognizedResult( resultList ); - //绘制他车的线 liyz - //添加自车的定位图标,碰撞只有一个预警 TODO + //添加自车的定位图标,碰撞只有一个预警,还需要和adas 联调,还需要改 liyz // ADASRecognizedResult result = null; // for (int i = 0; i < resultList.size(); i++) { // result = resultList.get(i); +// if (result.type) { //找出可能碰撞的车 +// result = resultList.get(i); +// } + + //绘制他车的线,从列表中查出可能碰撞的车的经纬度(没有或者只有一个),然后预设20米的长度 + //绘制碰撞的他车指引线,需要实时给数据更新 TODO +// drawLimberCollisionPolyline(result); // } -// -// //通过这个传值 ADASRecognizedResult -// MarkerServiceHandler.getApis().getMapServiceApi().getMapUIController().setAdasRecognizedResult(GsonUtil.jsonFromObject(result)); + +// //通过这个传值到 AMapViewWrapper,根据数据更新自车的模型数据 ADASRecognizedResult +// MarkerServiceHandler.getApis().getMapServiceApi().getMapUIController().setAdasRecognizedResult(result); } ); } + + /** + * 实时绘制连线 + * @param result + */ + private void drawLimberCollisionPolyline(ADASRecognizedResult result) { + if (result != null) { + IMogoPolyline polyLine = LimberCollisionPolyline.getInstance().getPolyLine(); + MogoLatLng startLatLng = new MogoLatLng(result.lat, result.lon); + MogoLatLng endLatlng = Trigonometric.getNewLocation(startLatLng, 20, result.heading); + Log.d(TAG, "红色区域起始点 = " + startLatLng.lon + "," + startLatLng.lat + + "终点" + endLatlng.lon + "," + endLatlng.lat + "--heading =" + result.heading); + if (polyLine != null) { + Log.d(TAG, "drawStopLine polyLine != null"); + polyLine.setPoints(Arrays.asList(startLatLng, endLatlng)); + } else { + List latLngs = new ArrayList<>(); + latLngs.add(startLatLng); + latLngs.add(endLatlng); + LimberCollisionPolyline.getInstance().draw((float) result.roadWidth, latLngs); + } + } else { + LimberCollisionPolyline.getInstance().clearLine(); + } + } + + private Handler mSnapshotHandler = new Handler( WorkThreadHandler.newInstance( "snapshot-thread" ).getLooper() ) { @Override public void handleMessage( Message msg ) { diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/polyline/LimberCollisionPolyline.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/polyline/LimberCollisionPolyline.java new file mode 100644 index 0000000000..2ae17a8683 --- /dev/null +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/polyline/LimberCollisionPolyline.java @@ -0,0 +1,88 @@ +package com.mogo.module.service.polyline; + +import com.mogo.map.MogoLatLng; +import com.mogo.map.overlay.IMogoPolyline; +import com.mogo.map.overlay.MogoPolylineOptions; +import com.mogo.module.service.MarkerServiceHandler; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author lixiaopeng + * @description 前车碰撞的画线 + * @since 2021/4/25 + */ +public class LimberCollisionPolyline { + + private volatile static LimberCollisionPolyline mInstance = null; + + private IMogoPolyline mMoGoPolyline; + // 连接线参数 + private MogoPolylineOptions mPolylineOptions; + // 线路径集合 + private List mPolylinePointList; + + + public static LimberCollisionPolyline getInstance() { + if (mInstance == null) { + synchronized (LimberCollisionPolyline.class) { + if (mInstance == null) { + mInstance = new LimberCollisionPolyline(); + } + } + } + return mInstance; + } + + protected LimberCollisionPolyline() { + mPolylineOptions = new MogoPolylineOptions(); + // 绘制路径集合 + mPolylinePointList = new ArrayList<>(); + } + + + public IMogoPolyline draw(float width, List polylinePoint) { + try { + if (mMoGoPolyline != null) { + mMoGoPolyline.remove(); + mPolylinePointList.clear(); + } + + // 连接线参数 + MogoPolylineOptions options = new MogoPolylineOptions(); + + // 渐变色 + List colors = new ArrayList<>(); +// colors.add(0x0DE32F46); + colors.add(0xD9E32F46); + colors.add(0x0DE32F46); + + // 线条粗细,渐变,渐变色值 TODO liyz 宽度需要传过来 + options.width(60).useGradient(true).colorValues(colors); + for (int i = 0; i < polylinePoint.size(); i++) { + options.add(polylinePoint.get(i)); + } + // 绘制线的对象 + mMoGoPolyline = MarkerServiceHandler.getsIMogoOverlayManager().addPolyline(options); + } catch (Exception e) { + e.printStackTrace(); + } + return mMoGoPolyline; + } + + + public IMogoPolyline getPolyLine() { + return mMoGoPolyline; + } + + public void clearLine() { + if (mMoGoPolyline != null) { + mMoGoPolyline.remove(); + mMoGoPolyline = null; + } + } + + +} + diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XWaringManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XWaringManager.java index dac23ba544..2c2e0b360e 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XWaringManager.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XWaringManager.java @@ -41,7 +41,6 @@ import static com.mogo.module.v2x.V2XServiceManager.getContext; */ public class V2XWaringManager { - List lonLats = new ArrayList<>(); private Context mContext; private static V2XWaringManager mV2XWaringManager; @@ -111,7 +110,6 @@ public class V2XWaringManager { } catch (Exception e) { e.printStackTrace(); } - } /** @@ -151,43 +149,6 @@ public class V2XWaringManager { String adasResult = (String) intent.getSerializableExtra(V2XConst.BROADCAST_ADAS_EXTRA_KEY); //测试数据 testData(adasResult); - - // adas 每隔一秒传递的他车或行人数据,避免重复。 -// V2XServiceManager.getmIMogoADASController().addAdasRecognizedDataCallback(resultList -> { -// // 处理他车车身变色,这个可以使用 TODO -// AdasRecognizedResultDrawer.getInstance().renderAdasRecognizedResult( resultList ); -// -// // adas自车定位,显示红色碰撞预警图,以及解除碰撞 -// double lon = MogoApisHandler.getInstance().getApis().getAdasControllerApi().getLastLon(); -// double lat = MogoApisHandler.getInstance().getApis().getAdasControllerApi().getLastLat(); -// //需要把自车的经纬度前移到车头,然后打点红色的marker -// -// } ); - - } - - - /** - * 添加2d的碰撞 marker - * - * @param markerShowEntity - * @return - */ - private IMogoMarker drawMarker2dResource(MarkerShowEntity markerShowEntity) { - MogoLatLng mogoLatLng = new MogoLatLng(markerShowEntity.getMarkerLocation().getLat(), markerShowEntity.getMarkerLocation().getLon()); - MogoLatLng newLocation = Trigonometric.getNewLocation(mogoLatLng, 8, 180); - MogoMarkerOptions optionsRipple = new MogoMarkerOptions() - .latitude(newLocation.getLat()) - .longitude(newLocation.getLon()) - .anchor(1.0f, 1.0f) - .zIndex(MarkerDrawer.MARKER_Z_INDEX_HIGH); - optionsRipple - .icon(ViewUtils.fromView(new EmptyMarkerView(mContext))); - IMogoMarker marker = MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager(mContext).addMarker(markerShowEntity.getMarkerType(), optionsRipple); - - marker.setInfoWindowAdapter(new AheadCollisionWindow3DAdapter(mContext)); - marker.showInfoWindow(); - return marker; }