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 1f22c249ce..b47f042072 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 @@ -192,36 +192,36 @@ public class SmallMapDirectionView } -// if (mCoordinatesLatLng.size() > 1) { -// mCoordinatesLatLngCurrent.clear(); -// for (LatLng lng : mCoordinatesLatLng) { -// MogoLatLng mogoLatLng = new MogoLatLng(lng.latitude, lng.longitude); -// mCoordinatesLatLngCurrent.add(mogoLatLng); -// } -// -// // 结束位置 -// LatLng endLatLng = mCoordinatesLatLng.get(mCoordinatesLatLng.size() - 1); -// // 与结束位置进行 GeoHash 0-12 -//// GeoHash endGeoHash = GeoHash.withCharacterPrecision(endLatLng.latitude, endLatLng.longitude, 7); -//// GeoHash currentGeoHash = GeoHash.withCharacterPrecision(currentLatLng.latitude, currentLatLng.longitude, 7); -//// Log.d(MODULE_NAME, "currentGeoHash=" + currentGeoHash); -//// Log.d(MODULE_NAME, "endGeoHash=" + endGeoHash); -// -// float calculateDistance = CoordinateUtils.calculateLineDistance( -// endLatLng.latitude, endLatLng.longitude, -// currentLatLng.latitude, currentLatLng.longitude -// ); -// -// Log.d(MODULE_NAME, "calculateDistance=" + calculateDistance); -// if (calculateDistance <= 20) { -// clearPolyline(); -// } else { -// drawablePolyline(mCoordinatesLatLngCurrent); -// } -// } else { -// //设置希望展示的地图缩放级别 -// mAMap.moveCamera(CameraUpdateFactory.newLatLngZoom(currentLatLng, zoomLevel)); -// } + if (mCoordinatesLatLng.size() > 1) { + mCoordinatesLatLngCurrent.clear(); + for (LatLng lng : mCoordinatesLatLng) { + MogoLatLng mogoLatLng = new MogoLatLng(lng.latitude, lng.longitude); + mCoordinatesLatLngCurrent.add(mogoLatLng); + } + + // 结束位置 + LatLng endLatLng = mCoordinatesLatLng.get(mCoordinatesLatLng.size() - 1); + // 与结束位置进行 GeoHash 0-12 +// GeoHash endGeoHash = GeoHash.withCharacterPrecision(endLatLng.latitude, endLatLng.longitude, 7); +// GeoHash currentGeoHash = GeoHash.withCharacterPrecision(currentLatLng.latitude, currentLatLng.longitude, 7); +// Log.d(MODULE_NAME, "currentGeoHash=" + currentGeoHash); +// Log.d(MODULE_NAME, "endGeoHash=" + endGeoHash); + + float calculateDistance = CoordinateUtils.calculateLineDistance( + endLatLng.latitude, endLatLng.longitude, + currentLatLng.latitude, currentLatLng.longitude + ); + + Log.d(MODULE_NAME, "calculateDistance=" + calculateDistance); + if (calculateDistance <= 20) { + clearPolyline(); + } else { + drawablePolyline(); + } + } else { + //设置希望展示的地图缩放级别 + mAMap.moveCamera(CameraUpdateFactory.newLatLngZoom(currentLatLng, zoomLevel)); + } CameraPosition cameraPosition = new CameraPosition.Builder().target(mCarMarker.getPosition()).bearing(latLng.getBearing()).tilt(0).zoom(zoomLevel).build(); mAMap.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); } @@ -232,14 +232,14 @@ public class SmallMapDirectionView } @Override - public void drawablePolyline(List coordinates) { + public void drawablePolyline() { clearPolyline(); // mCoordinatesLatLng.clear(); - List latLngs = CoordinateConverterFrom84ForList(mContext,coordinates); - mCoordinatesLatLng.addAll(latLngs); +// List latLngs = CoordinateConverterFrom84ForList(mContext,coordinates); +// mCoordinatesLatLng.addAll(latLngs); // for (LatLng coordinate : mCoordinatesLatLng) { -//// mCoordinatesLatLng.add(new LatLng(coordinate.getLat(), coordinate.getLon())); -//// Log.e("",coordinate.latitude+":"+coordinate.longitude); +// mCoordinatesLatLng.add(new LatLng(coordinate.getLat(), coordinate.getLon())); +// Log.e("",coordinate.latitude+":"+coordinate.longitude); // } if (mAMap != null) { if (mCoordinatesLatLng.size() > 2) { @@ -291,6 +291,19 @@ public class SmallMapDirectionView } @Override public void clearPolyline() { +// mCoordinatesLatLng.clear(); + if (mPolyline != null) { + mPolyline.remove(); + } + if (mStartMarker != null) { + mStartMarker.setVisible(false); + } + if (mEndMarker != null) { + mEndMarker.setVisible(false); + } + } + + public void resetPolyine(){ mCoordinatesLatLng.clear(); if (mPolyline != null) { mPolyline.remove(); @@ -327,9 +340,9 @@ public class SmallMapDirectionView } } - public void setRouteList(List coordinates) { -// mCoordinatesLatLng.clear(); -// List latLngs = CoordinateConverterFrom84ForList(mContext,coordinates); -// mCoordinatesLatLng.addAll(latLngs); + public void convert(List coordinates) { + mCoordinatesLatLng.clear(); + List latLngs = CoordinateConverterFrom84ForList(mContext,coordinates); + mCoordinatesLatLng.addAll(latLngs); } } diff --git a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java index f8ff5709dd..0f6a3cfd72 100644 --- a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java +++ b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java @@ -45,8 +45,8 @@ public class SmallMapFragment extends Fragment { public void drawablePolyline(List coordinates) { if (mSmallMapDirectionView != null) { - mSmallMapDirectionView.setRouteList(coordinates); - mSmallMapDirectionView.drawablePolyline(coordinates); + mSmallMapDirectionView.convert(coordinates); + mSmallMapDirectionView.drawablePolyline(); } } diff --git a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/view/ISmallMapDirectionView.java b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/view/ISmallMapDirectionView.java index 671c0a17b3..73716066b2 100644 --- a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/view/ISmallMapDirectionView.java +++ b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/view/ISmallMapDirectionView.java @@ -1,5 +1,6 @@ package com.mogo.eagle.core.function.smp.view; +import com.amap.api.maps.model.LatLng; import com.mogo.eagle.core.data.map.MogoLatLng; import java.util.List; @@ -13,7 +14,7 @@ public interface ISmallMapDirectionView { /** * 绘制路径线 */ - void drawablePolyline(List coordinates); + void drawablePolyline(); /** * 清除路径线 diff --git a/gradle.properties b/gradle.properties index 1b4a749def..f329a5e938 100644 --- a/gradle.properties +++ b/gradle.properties @@ -166,7 +166,7 @@ MOGO_TRAFFICLIVE_VERSION=1.1.46 # 定位服务 MOGO_LOCATION_VERSION=1.1.46 # 自研地图 -MAP_SDK_VERSION=1.0.1-vr-1.1.3 +MAP_SDK_VERSION=1.0.1-vr-1.1.6 #################架构升级新的版本号 MOGO_CORE_FUNCTION_HMI_VERSION=1.0.0 ## 产品库必备配置,产品库自动对versionCode和versionName版本进行升级