From c012c3a7cfc00b2dda9c1d1370d09e1aa69af0a5 Mon Sep 17 00:00:00 2001 From: liujing Date: Mon, 20 Jun 2022 17:25:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=AB=E6=B5=8B=E8=AF=95=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/smp/SmallMapDirectionView.java | 43 +++++++++++++++++-- .../src/main/res/values/dimens.xml | 6 +-- 2 files changed, 43 insertions(+), 6 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java index d7190f329a..5e0d974a80 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java @@ -31,8 +31,13 @@ import com.amap.api.maps.model.Marker; import com.amap.api.maps.model.MarkerOptions; import com.amap.api.maps.model.Polyline; import com.amap.api.maps.model.PolylineOptions; +import com.amap.api.navi.AMapNavi; +import com.amap.api.navi.AMapNaviListener; import com.amap.api.navi.AMapNaviView; +import com.amap.api.navi.AMapNaviViewListener; import com.amap.api.navi.AMapNaviViewOptions; +import com.amap.api.navi.ParallelRoadListener; +import com.amap.api.navi.enums.AMapNaviParallelRoadStatus; import com.amap.api.navi.model.NaviLatLng; import com.amap.api.navi.model.RouteOverlayOptions; import com.mogo.cloud.commons.utils.CoordinateUtils; @@ -58,24 +63,28 @@ import java.util.List; */ public class SmallMapDirectionView extends RelativeLayout - implements IMoGoMapLocationListener, ISmallMapDirectionView { + implements IMoGoMapLocationListener, ISmallMapDirectionView,ParallelRoadListener{ //小地图名称 public static final String TAG = "SmallMapDirectionView"; private RoundLayout rlSmallMapBorder; private AMapNaviView mAMapNaviView; + protected AMapNavi mAMapNavi; private AMap mAMap; -// private Marker mCarMarker; + // private Marker mCarMarker; // private Marker mStartMarker; // private Marker mEndMarker; - + protected NaviLatLng mEndLatlng = new NaviLatLng(40.032969, 116.313151); + protected NaviLatLng mStartLatlng = new NaviLatLng(40.106731, 116.248692); protected final List sList = new ArrayList(); protected final List eList = new ArrayList(); private int zoomLevel = 15; private final List mCoordinatesLatLng = new ArrayList<>(); private final List mCoordinatesLatLngCurrent = new ArrayList<>(); + protected List mWayPointList = new ArrayList(); + private Polyline mPolyline; private CameraUpdate mCameraUpdate; private Context mContext; @@ -99,9 +108,22 @@ public class SmallMapDirectionView private void initView(Context context) { mContext = context; + sList.add(mStartLatlng); + eList.add(mEndLatlng); + mWayPointList.add(new NaviLatLng(40.048674, 116.308173)); + mWayPointList.add(new NaviLatLng(40.056558, 116.303023)); + mWayPointList.add(new NaviLatLng(40.069039, 116.2965)); + mWayPointList.add(new NaviLatLng(40.084144, 116.28311)); + mWayPointList.add(new NaviLatLng(40.089529, 116.275042)); + mWayPointList.add(new NaviLatLng(40.099115, 116.258391)); + View smpView = LayoutInflater.from(context).inflate(R.layout.module_small_map_view, this); mAMapNaviView = smpView.findViewById(R.id.aMapNaviView); + mAMapNavi = AMapNavi.getInstance(context); +// mAMapNavi.addAMapNaviListener((AMapNaviListener) this); + mAMapNavi.addParallelRoadListener(this); + mAMapNavi.setUseInnerVoice(true, true); // rlSmallMapBorder = findViewById(R.id.rlSmallMapBorder); // rlSmallMapBorder.addView(mAMapNaviView); @@ -195,6 +217,15 @@ public class SmallMapDirectionView // }); //设置全览模式 mAMapNaviView.displayOverview(); + + int strategy = 0; + try { + //再次强调,最后一个参数为true时代表多路径,否则代表单路径 + strategy = mAMapNavi.strategyConvert(true, false, false, false, false); + } catch (Exception e) { + e.printStackTrace(); + } + mAMapNavi.calculateDriveRoute(sList, eList, mWayPointList, strategy); } @@ -398,4 +429,10 @@ public class SmallMapDirectionView mCoordinatesLatLng.addAll(latLngs); } + @Override + public void notifyParallelRoad(AMapNaviParallelRoadStatus aMapNaviParallelRoadStatus) { + + } + + } diff --git a/core/function-impl/mogo-core-function-map/src/main/res/values/dimens.xml b/core/function-impl/mogo-core-function-map/src/main/res/values/dimens.xml index 74dc5d134d..c4c0b6041f 100644 --- a/core/function-impl/mogo-core-function-map/src/main/res/values/dimens.xml +++ b/core/function-impl/mogo-core-function-map/src/main/res/values/dimens.xml @@ -12,7 +12,7 @@ 100px 30px - 488px - 450px - 460px + 588px + 550px + 560px \ No newline at end of file