From 846b6b591cc2943dfecaa960c7b5bed931c6ce1a Mon Sep 17 00:00:00 2001 From: lianglihui Date: Wed, 13 Oct 2021 15:26:27 +0800 Subject: [PATCH] =?UTF-8?q?eagle=20=E5=A4=84=E7=90=86=E7=BB=98=E5=88=B6?= =?UTF-8?q?=E8=BD=A8=E8=BF=B9=E6=89=80=E9=9C=80=E7=9A=84=E5=9D=90=E6=A0=87?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/smp/SmallMapDirectionView.java | 34 +++++++++++++++---- .../routeoverlay/RouteOverlayDrawer.java | 1 + 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java index e50ad06798..b7b9c73d3f 100644 --- a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java +++ b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java @@ -16,6 +16,7 @@ import androidx.annotation.Nullable; import com.amap.api.maps.AMap; import com.amap.api.maps.CameraUpdate; import com.amap.api.maps.CameraUpdateFactory; +import com.amap.api.maps.CoordinateConverter; import com.amap.api.maps.TextureMapView; import com.amap.api.maps.UiSettings; import com.amap.api.maps.model.BitmapDescriptorFactory; @@ -67,7 +68,7 @@ public class SmallMapDirectionView private List mCoordinatesLatLngCurrent = new ArrayList<>(); private Polyline mPolyline; private CameraUpdate mCameraUpdate; - + private Context mContext; public SmallMapDirectionView(Context context) { this(context, null); } @@ -86,6 +87,7 @@ public class SmallMapDirectionView } private void initView(Context context) { + mContext = context; View smpView = LayoutInflater.from(context).inflate(R.layout.module_small_map_view, this); mAMapNaviView = (TextureMapView)smpView.findViewById(R.id.aMapNaviView); @@ -111,6 +113,7 @@ public class SmallMapDirectionView ); } }); + } @Override @@ -232,11 +235,11 @@ public class SmallMapDirectionView public void drawablePolyline(List coordinates) { clearPolyline(); mCoordinatesLatLng.clear(); - - for (MogoLatLng coordinate : coordinates) { - mCoordinatesLatLng.add(new LatLng(coordinate.getLat(), coordinate.getLon())); - } - + List latLngs = CoordinateConverterFrom84ForList(mContext,coordinates); + mCoordinatesLatLng.addAll(latLngs); +// for (MogoLatLng coordinate : coordinates) { +// mCoordinatesLatLng.add(new LatLng(coordinate.getLat(), coordinate.getLon())); +// } if (mAMap != null) { if (mCoordinatesLatLng.size() > 2) { // 设置开始结束Marker位置 @@ -254,7 +257,6 @@ public class SmallMapDirectionView } //第二个参数为四周留空宽度 mAMap.animateCamera(CameraUpdateFactory.newLatLngBoundsRect(boundsBuilder.build(), 65, 65, 65, 65)); - // 绘制线 mPolyline = mAMap.addPolyline( new PolylineOptions() @@ -269,6 +271,24 @@ public class SmallMapDirectionView } } + + public LatLng CoordinateConverterFrom84(Context mContext, MogoLatLng mogoLatLng){ + CoordinateConverter mCoordinateConverter = new CoordinateConverter(mContext); + mCoordinateConverter.from(CoordinateConverter.CoordType.GPS); + mCoordinateConverter.coord(new LatLng(mogoLatLng.lat,mogoLatLng.lon)); + LatLng latLng = mCoordinateConverter.convert(); + return latLng; + } + + public List CoordinateConverterFrom84ForList(Context mContext, List mogoLatLngList){ + + List list = new ArrayList<>(); + for (MogoLatLng m:mogoLatLngList) { + LatLng mogoLatLng = CoordinateConverterFrom84(mContext,m); + list.add(mogoLatLng); + } + return list; + } @Override public void clearPolyline() { mCoordinatesLatLng.clear(); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java index 52fe30a459..80396b2e2d 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java @@ -104,6 +104,7 @@ public class RouteOverlayDrawer { mPolylineColors.addAll(ColorUtils.getGradientAlpha("#002965ED", "#FF2965ED", "#002965ED", mPolylinePointList.size())); // 替换路径集合 mPolylineOptions.points(mPolylinePointList); + mPolylineOptions.setGps(true); // 线条粗细,渐变,渐变色值 mPolylineOptions.width(25).useGradient(true).colorValues(mPolylineColors); // 绘制线