From a8c4543a08086526639da4d570ba5dff3a27b163 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 5 Jul 2023 18:53:10 +0800 Subject: [PATCH 1/2] =?UTF-8?q?taxi=20=E6=A0=B7=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/taxi/passenger/ui/OverviewFragment.kt | 30 +++++++------------ .../res/layout/taxi_p_overmap_fragment.xml | 13 ++++++++ 2 files changed, 24 insertions(+), 19 deletions(-) create mode 100644 OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_overmap_fragment.xml diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/OverviewFragment.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/OverviewFragment.kt index f915c37987..7fdd99ff80 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/OverviewFragment.kt +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/OverviewFragment.kt @@ -10,6 +10,7 @@ import com.mogo.eagle.core.function.view.OverMapView import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import com.mogo.och.taxi.passenger.R import com.mogo.och.taxi.passenger.constant.TaxiPassengerOrderStatusEnum import com.mogo.och.taxi.passenger.model.TaxiPassengerModel import io.reactivex.Observable @@ -26,23 +27,6 @@ class OverviewFragment : BaseFragment() { private var subscribe: Disposable?=null - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup?, - savedInstanceState: Bundle? - ): View { - if (overmapview == null) { - overmapview = OverMapView(requireContext()) - } else { - val viewGroup = overmapview?.parent as ViewGroup - viewGroup.removeView(overmapview) - } - overmapview?.onCreateView(savedInstanceState) - CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"onCreateView") - statusChange(TaxiPassengerModel.getInstance().curOrderStatus) - return overmapview!! - } - override fun onResume() { super.onResume() overmapview?.onResume() @@ -80,7 +64,6 @@ class OverviewFragment : BaseFragment() { if(finalVisable2User){ CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"已经隐藏") finalVisable2User = false - stopAndClear() } } } @@ -117,7 +100,7 @@ class OverviewFragment : BaseFragment() { override fun getLayoutId(): Int { - return 0 + return R.layout.taxi_p_overmap_fragment } override fun getTagName(): String { @@ -128,6 +111,15 @@ class OverviewFragment : BaseFragment() { } + override fun initViews(savedInstanceState: Bundle?) { + super.initViews(savedInstanceState) + overmapview = findViewById(R.id.overMapView) + overmapview?.onCreateView(savedInstanceState) + + CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"onCreateView") + statusChange(TaxiPassengerModel.getInstance().curOrderStatus) + } + companion object{ private const val TAG = "OverviewFragment" @JvmStatic diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_overmap_fragment.xml b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_overmap_fragment.xml new file mode 100644 index 0000000000..c4ddac6349 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_overmap_fragment.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file From 933d5ed968675ca9768256bde09329f7d126df57 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 5 Jul 2023 18:56:35 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=B7=AF=E8=B7=9D=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E6=9C=80=E5=A4=A7=E8=B7=9D=E7=A6=BB?= =?UTF-8?q?=E9=99=90=E5=88=B6=E3=80=81=20bus=20=E8=AE=BE=E7=BD=AE=E7=AB=99?= =?UTF-8?q?=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bus/passenger/model/BusPassengerModel.kt | 6 +-- .../TrajectoryAndDistanceManager.kt | 47 ++++++++++++++++++- 2 files changed, 48 insertions(+), 5 deletions(-) diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/model/BusPassengerModel.kt b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/model/BusPassengerModel.kt index 8a3c91eb77..9830a0f93b 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/model/BusPassengerModel.kt +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/model/BusPassengerModel.kt @@ -229,11 +229,11 @@ object BusPassengerModel{ mRouteLineInfoCallback!!.updateStationsInfo(stations, i + 1, false) if (mNextStationIndex != i + 1) { mTwoStationsRouts.clear() - val startStation = mStations[i] - val endStation = mStations[i + 1] - setTrajectoryStation(startStation, endStation, result.lineId) } mNextStationIndex = i + 1 + val startStation = mStations[i] + val endStation = mStations[i + 1] + setTrajectoryStation(startStation, endStation, result.lineId) updateAutopilotControlParameters(result, i) return } else if (station.drivingStatus == BusPassengerConst.STATION_STATUS_STOPPED && !station.isLeaving) { //到站 diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/distancemamager/TrajectoryAndDistanceManager.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/distancemamager/TrajectoryAndDistanceManager.kt index fffccac800..ac917a8802 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/distancemamager/TrajectoryAndDistanceManager.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/distancemamager/TrajectoryAndDistanceManager.kt @@ -56,6 +56,8 @@ object TrajectoryAndDistanceManager: IMoGoPlanningRottingListener{ @Volatile private var mRoutePoints: MutableList? = ArrayList() + private var mRoutePointsDistance: MutableList? = ArrayList() + private var maxDistanceAllPoint:Double = 0.0 @Volatile private var lineId:Long? = null @@ -99,9 +101,26 @@ object TrajectoryAndDistanceManager: IMoGoPlanningRottingListener{ private fun updateRoutePoints(routePoints: List?) { mRoutePoints = null + mRoutePointsDistance = null val latLngModels = CoordinateCalculateRouteUtil .coordinateConverterWgsToGcjLocations(AbsMogoApplication.getApp(), routePoints!!) mRoutePoints = latLngModels + + mRoutePointsDistance = ArrayList() + maxDistanceAllPoint = 0.0 + mRoutePoints?.forEachIndexed { index, current -> + if (mRoutePoints!!.last()!=current) { + val next = mRoutePoints!![index + 1] + val distanceItem = CoordinateUtils.calculateLineDistance( + current.longitude, + current.latitude, + next.longitude, + next.latitude + ) + mRoutePointsDistance?.add(distanceItem) + maxDistanceAllPoint += distanceItem + } + } } private fun removeTempData() { @@ -262,12 +281,27 @@ object TrajectoryAndDistanceManager: IMoGoPlanningRottingListener{ preCarLocationIndexInTrajectory = 0 return } + + var maxDisatance = 0.0f + if(carLocationInfo.second==true){ + if(carLocationInfo.first>0) { + maxDisatance = mRoutePointsDistance?.get(carLocationInfo.first - 1)?:0f + } + }else{ + maxDisatance = mRoutePointsDistance?.get(carLocationInfo.first)?:0f + } + if(carLocationInfo.third>maxDisatance){ + preCarLocationIndexInTrajectory = 0 + writeLog("到点的距离${carLocationInfo.third},最大距离${maxDisatance}",locationInfo) + return + } + preCarLocationIndexInTrajectory = carLocationInfo.first // 距离回调 try { if(distanceListeners.size>0) { - invokeDistance(carLocationInfo, location) + invokeDistance(carLocationInfo, location,locationInfo) } }catch (e:Exception){ e(M_OCHCOMMON+ TAG,"距离计算错误") @@ -293,7 +327,11 @@ object TrajectoryAndDistanceManager: IMoGoPlanningRottingListener{ } - private fun invokeDistance(carLocationInfo:Triple,location: MogoLocation){ + private fun invokeDistance( + carLocationInfo: Triple, + location: MogoLocation, + locationInfo: String + ){ var lastSumLength = 0f val stationIndex = endStationInfo.index?:0 @@ -321,6 +359,11 @@ object TrajectoryAndDistanceManager: IMoGoPlanningRottingListener{ ) } d(M_OCHCOMMON+ TAG,"距离终点:$lastSumLength") + if(lastSumLength>maxDistanceAllPoint){ + // 大于最大值需要需要删除此次计算 + writeLog("距离终点:$lastSumLength",locationInfo) + return + } if(distanceListeners.size>0) { distanceListeners.forEach { //val tag = it.key