diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.kt index b73d57e2fb..9c5326d1d2 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.kt @@ -6,6 +6,7 @@ import com.amap.api.maps.CoordinateConverter import com.amap.api.maps.model.LatLng import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.utilcode.mogo.logger.Logger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.CoordinateUtils import com.mogo.eagle.core.utilcode.util.DrivingDirectionUtils import com.mogo.och.common.module.manager.trajectorymamager.DistanceDegree @@ -597,9 +598,12 @@ object CoordinateCalculateRouteUtil { endIndex: Int, mRoutePoints: List, location: MogoLocation, - type:Int, // - size:Int = 8 + type:Int, + size:Int = 4 ): Triple { + Logger.d(SceneConstant.M_OCHCOMMON + "calculateRouteSumLength", + "参数:[$preIndex $endIndex) mRoutePoints:${mRoutePoints.size} type:$type size:$size" + + " location:(${location.latitude},${location.longitude},${location.heading})") var currentIndex:Int = preIndex //记录疑似点 //基础点 // 轨迹中的点和定位点的距离集合 val distanceMap: TreeMap = TreeMap() @@ -710,6 +714,10 @@ object CoordinateCalculateRouteUtil { } } + if(distanceMap.size==0&&size<16){ + return getNearestPointInfo(preIndex,endIndex,mRoutePoints,location,type,size+2) + } + // 最近点中包含上次计算的点和上次计算的最近的一个点 if(distanceMap.containsValue(preIndex)&&distanceMap.containsValue(preIndex+1)){ var preIndexDistance:DistanceDegree?=null