From 0cbfc9616e5aabe669203cc827be435fc43aa142 Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Wed, 1 Mar 2023 19:14:23 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[=E5=B7=A5=E6=8E=A7=E6=9C=BA=E7=9B=91?= =?UTF-8?q?=E6=8E=A7]=20OBU=20SDK=20Java=E5=AF=B9=E8=B1=A1=E8=BD=ACPB?= =?UTF-8?q?=E5=AF=B9=E8=B1=A1=E8=87=AA=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/zhidao/adas/client/ObuTest.java | 326 ++++++++++++++++++ 1 file changed, 326 insertions(+) create mode 100644 app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ObuTest.java diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ObuTest.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ObuTest.java new file mode 100644 index 0000000000..8a43063ab6 --- /dev/null +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ObuTest.java @@ -0,0 +1,326 @@ +package com.zhidao.adas.client; + +import android.util.Log; + +import com.google.protobuf.TextFormat; +import com.mogo.support.obu.MogoObuManager; +import com.mogo.support.obu.ObuScene; +import com.mogo.support.obu.constants.MogoObuConstants; +import com.mogo.support.obu.constants.MogoObuTopicId; +import com.mogo.support.obu.model.MogoObuHvBasicsData; +import com.mogo.support.obu.model.MogoObuMapMathData; +import com.mogo.support.obu.model.MogoObuRsiWarningData; +import com.mogo.support.obu.model.MogoObuRsmWarningData; +import com.mogo.support.obu.model.MogoObuRvWarningData; +import com.mogo.support.obu.model.MogoObuSpatWarningData; +import com.mogo.support.obu.model.advance.AccFourAxes; +import com.mogo.support.obu.model.advance.DateTime; +import com.mogo.support.obu.model.advance.NodeId; +import com.mogo.support.obu.model.advance.Participant; +import com.mogo.support.obu.model.advance.PositionLLV; +import com.mogo.support.obu.model.advance.RsiWarning; +import com.mogo.support.obu.model.advance.SpatLight; +import com.mogo.support.obu.model.advance.V2xWarning; +import com.mogo.support.obu.model.advance.VehBasics; +import com.mogo.support.obu.model.advance.VehControl; +import com.mogo.support.obu.model.advance.VehSize; +import com.mogo.support.obu.model.advance.VerticalLLV; +import com.mogo.support.obu.model.advance.WarningData; +import com.zhidao.support.adas.high.common.ThreadPoolManager; +import com.zhidao.support.obu.ObuManager; +import com.zhidao.support.obu.OnObuListener; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; + +import mogo.telematics.pad.MessagePad; + +/** + * OBU SDK Java对象转PB对象测试 + */ +public class ObuTest { + + + public static void start() { + Runnable runnable = new Runnable() { + @Override + public void run() { + ObuManager.getInstance().registerObuListener(listener); + Class clazz = MogoObuManager.class; + MogoObuManager mogoObuManager = MogoObuManager.getInstance(); + Method[] methods = clazz.getDeclaredMethods(); + for (Method m : methods) { + String name = m.getName(); + if ("onObuCallback".equals(name)) { + m.setAccessible(true); + try { + m.invoke(mogoObuManager, MogoObuTopicId.HV_BASIC.id, buildMogoObuHvBasicsData()); + m.invoke(mogoObuManager, MogoObuTopicId.RV_WARNING.id, buildMogoObuRvWarningData()); + m.invoke(mogoObuManager, MogoObuTopicId.SPAT_WARNING.id, buildMogoObuSpatWarningData()); + m.invoke(mogoObuManager, MogoObuTopicId.RSI_WARNING.id, buildMogoObuRsiWarningData()); + m.invoke(mogoObuManager, MogoObuTopicId.RSM_WARNING.id, buildMogoObuRsmWarningData()); + m.invoke(mogoObuManager, MogoObuTopicId.MAP_MATCH.id, buildMogoObuMapMathData()); + } catch (IllegalAccessException | InvocationTargetException e) { + e.printStackTrace(); + } + break; + } + } + } + }; + ThreadPoolManager.getsInstance().execute(runnable); + } + + private static int have(int unitMask, int mask) { + unitMask += mask; + return unitMask; + } + + private static MogoObuHvBasicsData buildMogoObuHvBasicsData() { + int vehBasicsUnitMask = 0; + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ID); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.SEC_MARK); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.LATITUDE); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.LONGITUDE); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ELEVATION); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.SPEED); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.HEADING); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ACC_FOUR_AXES); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_SIZE); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_CLASS); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_CONTROL_MSG); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.TARGET_POSITION); + VehBasics vehBasics = new VehBasics(vehBasicsUnitMask); + vehBasics.setId("aaa"); + vehBasics.setLatitude(10000000); + vehBasics.setLongitude(20000000); + vehBasics.setElevation(2000); + vehBasics.setSpeed(3000); + vehBasics.setHeading(4000); + vehBasics.setAccFourAxes(new AccFourAxes(200, 201, 202, 203)); + vehBasics.setVehSize(new VehSize(300, 301, 302)); + vehBasics.setVehClass(303); + + int vehControlUnitMask = 0; + vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.BRAKE_PEDAL_STATUS); + vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.TRANSMISSION_STATUS); + vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.EXTERIOR_LIGHTS); + VehControl vehControl = new VehControl(vehControlUnitMask); + vehControl.setBrakePedalStatus(401); + vehControl.setTransmissionStatus(402); + vehControl.setExteriorLights(403); + vehBasics.setVehControlMsg(vehControl); + vehBasics.setTargetPosition(8); + MogoObuHvBasicsData data = new MogoObuHvBasicsData(1, vehBasics); + return data; + } + + private static MogoObuRvWarningData buildMogoObuRvWarningData() { + int vehBasicsUnitMask = 0; + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ID); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.SEC_MARK); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.LATITUDE); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.LONGITUDE); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ELEVATION); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.SPEED); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.HEADING); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ACC_FOUR_AXES); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_SIZE); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_CLASS); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_CONTROL_MSG); + vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.TARGET_POSITION); + VehBasics vehBasics = new VehBasics(vehBasicsUnitMask); + vehBasics.setId("aaa"); + vehBasics.setLatitude(20000000); + vehBasics.setLongitude(30000000); + vehBasics.setElevation(4000); + vehBasics.setSpeed(5000); + vehBasics.setHeading(6000); + vehBasics.setAccFourAxes(new AccFourAxes(700, 801, 902, 1003)); + vehBasics.setVehSize(new VehSize(1100, 1201, 1302)); + vehBasics.setVehClass(1403); + + int vehControlUnitMask = 0; + vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.BRAKE_PEDAL_STATUS); + vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.TRANSMISSION_STATUS); + vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.EXTERIOR_LIGHTS); + VehControl vehControl = new VehControl(vehControlUnitMask); + vehControl.setBrakePedalStatus(1501); + vehControl.setTransmissionStatus(1602); + vehControl.setExteriorLights(1703); + vehBasics.setVehControlMsg(vehControl); + vehBasics.setTargetPosition(18); + + int v2xWarningUnitMask = 0; + v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_NUM); + v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_DATA); + v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_TIME); + v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.DISTANCE); + V2xWarning v2xWarning = new V2xWarning(v2xWarningUnitMask); + + DateTime dateTime = new DateTime(19, 20, 21, 22, 23, 24, 25); + List warningDatas = new ArrayList<>(); + int warningDataMask = 0; + warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.STATUS); + warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_TYPE); + warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_LEVEL); + warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_PRIORITY); + WarningData warningData1 = new WarningData(warningDataMask, 3); + warningData1.setWarningType(26); + warningData1.setWarningLevel(27); + warningData1.setWarningPriority(28); + warningDatas.add(warningData1); + WarningData warningData2 = new WarningData(warningDataMask, 4); + warningData2.setWarningType(29); + warningData2.setWarningLevel(30); + warningData2.setWarningPriority(31); + warningDatas.add(warningData2); + v2xWarning.setWarningNum(2); + v2xWarning.setWarningData(warningDatas); + v2xWarning.setWarningTime(dateTime); + v2xWarning.setDistance(32); + MogoObuRvWarningData data = new MogoObuRvWarningData(2, vehBasics, v2xWarning); + return data; + } + + + private static MogoObuSpatWarningData buildMogoObuSpatWarningData() { + List lights = new ArrayList<>(); + lights.add(new SpatLight(35, 36, 37, 38, 39, 40)); + lights.add(new SpatLight(41, 42, 43, 44, 45, 46)); + lights.add(new SpatLight(47, 48, 49, 50, 51, 52)); + MogoObuSpatWarningData data = new MogoObuSpatWarningData(33, 34, 3, lights); + return data; + } + + private static MogoObuRsiWarningData buildMogoObuRsiWarningData() { + List list = new ArrayList<>(); + int rsiWarningUnitMask = 0; + rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.SCENE_TYPE); + rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.POSITION); + rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.SIGN_SERIAL_NUM); + rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.EVENT_SERIAL_NUM); + rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.SPEED_MAX_LIMIT); + rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.SPEED_MIN_LIMIT); + rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.EVENT_RADIUS); + rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.WARNING_LEVEL); + rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.TARGET_POSITION); + rsiWarningUnitMask = have(rsiWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_RSI_WARNING.DISTANCE); + RsiWarning rsiWarning1 = new RsiWarning(rsiWarningUnitMask); + rsiWarning1.setSceneType(53); + rsiWarning1.setPosition(new PositionLLV(7, 54, 55, new VerticalLLV(7, 56))); + rsiWarning1.setSignSerialNum(57); + rsiWarning1.setEventSerialNum(58); + rsiWarning1.setSpeedMinLimit(59); + rsiWarning1.setSpeedMaxLimit(60); + rsiWarning1.setEventRadius(61); + rsiWarning1.setWarningLevel(62); + rsiWarning1.setTargetPosition(63); + rsiWarning1.setDistance(64); + list.add(rsiWarning1); + + RsiWarning rsiWarning2 = new RsiWarning(rsiWarningUnitMask); + rsiWarning2.setSceneType(65); + rsiWarning2.setPosition(new PositionLLV(7, 66, 67, new VerticalLLV(7, 68))); + rsiWarning2.setSignSerialNum(69); + rsiWarning2.setEventSerialNum(70); + rsiWarning2.setSpeedMinLimit(71); + rsiWarning2.setSpeedMaxLimit(72); + rsiWarning2.setEventRadius(73); + rsiWarning2.setWarningLevel(74); + rsiWarning2.setTargetPosition(75); + rsiWarning2.setDistance(76); + list.add(rsiWarning2); + MogoObuRsiWarningData data = new MogoObuRsiWarningData(53, 2, list); + return data; + } + + private static MogoObuRsmWarningData buildMogoObuRsmWarningData() { + Participant participant = new Participant(78, 79, 80, 81, 82, 83, 84, 85, 86, new AccFourAxes(87, 88, 89, 90), new VehSize(91, 92, 93), 94, 95); + int v2xWarningUnitMask = 0; + v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_NUM); + v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_DATA); + v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.WARNING_TIME); + v2xWarningUnitMask = have(v2xWarningUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING.DISTANCE); + V2xWarning v2xWarning = new V2xWarning(v2xWarningUnitMask); + + DateTime dateTime = new DateTime(96, 97, 98, 99, 100, 101, 102); + List warningDatas = new ArrayList<>(); + int warningDataMask = 0; + warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.STATUS); + warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_TYPE); + warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_LEVEL); + warningDataMask = have(warningDataMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_V2X_WARNING_DATA.WARNING_PRIORITY); + WarningData warningData1 = new WarningData(warningDataMask, 3); + warningData1.setWarningType(103); + warningData1.setWarningLevel(104); + warningData1.setWarningPriority(105); + warningDatas.add(warningData1); + WarningData warningData2 = new WarningData(warningDataMask, 4); + warningData2.setWarningType(106); + warningData2.setWarningLevel(107); + warningData2.setWarningPriority(108); + warningDatas.add(warningData2); + v2xWarning.setWarningNum(2); + v2xWarning.setWarningData(warningDatas); + v2xWarning.setWarningTime(dateTime); + v2xWarning.setDistance(109); + MogoObuRsmWarningData data = new MogoObuRsmWarningData(77, participant, v2xWarning); + return data; + } + + private static MogoObuMapMathData buildMogoObuMapMathData() { + int mogoObuMapMathDataUnitMask = 0; + mogoObuMapMathDataUnitMask = have(mogoObuMapMathDataUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_MAP_MATH.CURRENT_NODE_ID); + mogoObuMapMathDataUnitMask = have(mogoObuMapMathDataUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_MAP_MATH.UPSTREAM_NODE_ID); + mogoObuMapMathDataUnitMask = have(mogoObuMapMathDataUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_MAP_MATH.MATCHING_LANE_ID); + mogoObuMapMathDataUnitMask = have(mogoObuMapMathDataUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_MAP_MATH.SPEED_MAX_LIMIT); + mogoObuMapMathDataUnitMask = have(mogoObuMapMathDataUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_MAP_MATH.SPEED_MIN_LIMIT); + MogoObuMapMathData data = new MogoObuMapMathData(mogoObuMapMathDataUnitMask, 110); + data.setCurrentNodeId(new NodeId(111,112)); + data.setUpstreamNodeId(new NodeId(113,114)); + data.setMatchingLaneId(115); + data.setSpeedMaxLimit(116); + data.setSpeedMinLimit(117); + return data; + } + + private static OnObuListener listener = new OnObuListener() { + @Override + public void onConnectStatus(int connectStatus) { + + } + + @Override + public void onGnssInfo(MessagePad.GnssInfo gnssInfo) { + Log.i("ddddd", "onGnssInfo=\n" + TextFormat.printer().escapingNonAscii(false).printToString(gnssInfo)); + } + + @Override + public void onObuRvWarning(ObuScene.RvWarningData rvWarningData) { + Log.i("ddddd", "onObuRvWarning=\n" + TextFormat.printer().escapingNonAscii(false).printToString(rvWarningData)); + } + + @Override + public void onObuSpatWarning(ObuScene.SpatWarningData spatWarningData) { + Log.i("ddddd", "onObuSpatWarning=\n" + TextFormat.printer().escapingNonAscii(false).printToString(spatWarningData)); + } + + @Override + public void onObuRsiWarning(ObuScene.RsiWarningData rsiWarningData) { + Log.i("ddddd", "onObuRsiWarning=\n" + TextFormat.printer().escapingNonAscii(false).printToString(rsiWarningData)); + } + + @Override + public void onObuRsmWarning(ObuScene.RsmWarningData rsmWarningData) { + Log.i("ddddd", "onObuRsmWarning=\n" + TextFormat.printer().escapingNonAscii(false).printToString(rsmWarningData)); + } + + @Override + public void onObuMapMath(ObuScene.MapMatchData mapMatchData) { + Log.i("ddddd", "onObuMapMath=\n" + TextFormat.printer().escapingNonAscii(false).printToString(mapMatchData)); + } + }; +} From 47559eb4fd440bd52aae5f7ab2307cd7abaaf990 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Wed, 1 Mar 2023 19:25:58 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[Opt3.0]=E9=BB=98=E8=AE=A4=E4=B8=8D?= =?UTF-8?q?=E7=BB=98=E5=88=B6=E8=B5=B7=E3=80=81=E7=BB=88=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eagle/core/function/view/OverMapView.kt | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/OverMapView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/OverMapView.kt index ba19fa3bb6..0db745b464 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/OverMapView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/OverMapView.kt @@ -352,14 +352,17 @@ class OverMapView @JvmOverloads constructor( .icon(BitmapDescriptorFactory.fromResource(if (compassDrawable != -1) compassDrawable else R.drawable.amap_custom_corner)) .anchor(0.5f, 0.5f) ) - mStartMarker = mAMap!!.addMarker( - MarkerOptions() - .icon(BitmapDescriptorFactory.fromResource(if (startPointDrawable != -1) startPointDrawable else R.drawable.module_small_map_view_dir_start)) - ) - mEndMarker = mAMap!!.addMarker( - MarkerOptions() - .icon(BitmapDescriptorFactory.fromResource(if (endPointDrawable != -1) endPointDrawable else R.drawable.module_small_map_view_dir_end)) - ) + if (startPointDrawable != -1) { + mStartMarker = mAMap!!.addMarker( + MarkerOptions() + .icon(BitmapDescriptorFactory.fromResource(startPointDrawable))) + } + if (endPointDrawable != -1) { + mEndMarker = mAMap!!.addMarker( + MarkerOptions() + .icon(BitmapDescriptorFactory.fromResource(endPointDrawable)) + ) + } } fun handlePlanningData(locationList: List?) {