From 84d8d3e6b5e146e34dad74f811ea383fea24a337 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 19 Sep 2023 17:33:46 +0800 Subject: [PATCH] =?UTF-8?q?[6.1.0]=20[charter]=20[=E9=80=89=E4=B8=AD?= =?UTF-8?q?=E7=AB=99=E7=82=B9=E6=94=BE=E5=88=B0=E6=9C=80=E4=B8=8A=E6=96=B9?= =?UTF-8?q?]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../passenger/model/CharterPassengerModel.kt | 42 ++++++++----------- .../presenter/BusPassengerPresenter.kt | 21 ++++++++-- 2 files changed, 36 insertions(+), 27 deletions(-) diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt index ab2d27edf2..b271975892 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt @@ -225,7 +225,7 @@ object CharterPassengerModel { mRoutePoints = latLngModels } - fun cleanRoutePoints() { + private fun cleanRoutePoints() { mRoutePoints = null } @@ -317,10 +317,7 @@ object CharterPassengerModel { * 启动订单轮训 */ private fun startOrderLoop() { - BizLoopManager.setLoopFunction( - TAGORDER, - LoopInfo(3, ::queryOrder) - ) + BizLoopManager.setLoopFunction(TAGORDER, LoopInfo(3, ::queryOrder)) d(M_BUS_P + TAG, "启动订单轮询") } @@ -488,7 +485,7 @@ object CharterPassengerModel { } private fun carStatusLogic(data: BusinessStatusResponse.Result) { - if (data.orderNo != null && data.orderNo.isNotEmpty()) {// 订单进行中 + if (!data.orderNo.isNullOrEmpty()) {// 订单进行中 return } // 结束路距计算 订单结束了 @@ -661,12 +658,11 @@ object CharterPassengerModel { } } // 启动轨迹计算 - var lastSumLength = 0f val mogoLocation = MogoLocation() mogoLocation.longitude = order.gcj02Lon!! mogoLocation.latitude = order.gcj02Lat!! - lastSumLength = CoordinateUtils.calculateLineDistance( + var lastSumLength = CoordinateUtils.calculateLineDistance( it.longitude, it.latitude, mogoLocation.longitude, @@ -749,7 +745,7 @@ object CharterPassengerModel { * <可用站点标,是否靠近> */ fun calculateCurrentSite(data: List): Pair { - var distanceMap: MutableMap = TreeMap() + val distanceMap: MutableMap = TreeMap() // 计算所有点的距离 data.forEachIndexed { index, siteInfo -> CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02().let { currentInfo -> @@ -771,21 +767,21 @@ object CharterPassengerModel { data[index + 1].GcjLon!!, data[index + 1].GcjLat!! ) - if (calculateLineDistanceNext < CharterPassengerConst.MIN_DISTANCE_STATION) { + return if (calculateLineDistanceNext < CharterPassengerConst.MIN_DISTANCE_STATION) { if (index + 2 <= data.size - 1) { - return Pair(index + 2, true)// 下下个站点 + Pair(index + 2, true)// 下下个站点 } else { - return Pair(-1, true)// 距离最后一个站点小于30m + Pair(-1, true)// 距离最后一个站点小于30m } } else { - return Pair(index + 1, true)// 下个站点 + Pair(index + 1, true)// 下个站点 } } else { // 所有点都不可用用 return Pair(-1, true)// 距离最后一个站点小于30m } } - distanceMap.put(calculateLineDistance, index) + distanceMap[calculateLineDistance] = index } } for (mutableEntry in distanceMap) { @@ -818,29 +814,29 @@ object CharterPassengerModel { if (middle - 1 >= 0) { middleDegree1 = CoordinateCalculateRouteUtil.getDegree( it.longitude, it.latitude, - data.get(middle).GcjLon!!, data.get(middle).GcjLat!!, - data.get(middle - 1).GcjLon!!, data.get(middle - 1).GcjLat!!, + data[middle].GcjLon!!, data[middle].GcjLat!!, + data[middle - 1].GcjLon!!, data[middle - 1].GcjLat!!, ) } if (middle + 1 < data.size) { middleDegree2 = CoordinateCalculateRouteUtil.getDegree( it.longitude, it.latitude, - data.get(middle + 1).GcjLon!!, data.get(middle + 1).GcjLat!!, - data.get(middle).GcjLon!!, data.get(middle).GcjLat!!, + data[middle + 1].GcjLon!!, data[middle + 1].GcjLat!!, + data[middle].GcjLon!!, data[middle].GcjLat!!, ) } if (middle - 2 >= 0) { middleDegree3 = CoordinateCalculateRouteUtil.getDegree( it.longitude, it.latitude, - data.get(middle - 1).GcjLon!!, data.get(middle - 1).GcjLat!!, - data.get(middle - 2).GcjLon!!, data.get(middle - 2).GcjLat!!, + data[middle - 1].GcjLon!!, data[middle - 1].GcjLat!!, + data[middle - 2].GcjLon!!, data[middle - 2].GcjLat!!, ) } if (middle + 2 < data.size) { middleDegree4 = CoordinateCalculateRouteUtil.getDegree( it.longitude, it.latitude, - data.get(middle + 2).GcjLon!!, data.get(middle + 2).GcjLat!!, - data.get(middle + 1).GcjLon!!, data.get(middle + 1).GcjLat!!, + data[middle + 2].GcjLon!!, data[middle + 2].GcjLat!!, + data[middle + 1].GcjLon!!, data[middle + 1].GcjLat!!, ) } val max1 = max(middleDegree1, middleDegree2) @@ -1044,8 +1040,6 @@ object CharterPassengerModel { /** * 开启自动驾驶 - * - * @param isRestart */ fun startAutopilot() { if (!OCHAdasAbilityManager.getInstance().autopilotAbilityStatus) { diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/presenter/BusPassengerPresenter.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/presenter/BusPassengerPresenter.kt index e71b9228e4..1f57c29627 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/presenter/BusPassengerPresenter.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/presenter/BusPassengerPresenter.kt @@ -261,8 +261,8 @@ class BusPassengerPresenter(view: MainFragment?) : fun drawStationInfo(sites: List) { val stationsList: MutableList = mutableListOf() val stationsNameList: MutableList = mutableListOf() - val stationIcon = - BitmapFactory.decodeResource(context.resources, R.drawable.map_staton_icon) + val stationIcon = BitmapFactory.decodeResource(context.resources, R.drawable.map_staton_icon) + var checkMarkView:SiteMarkerBean?=null sites.forEach { stationsList.add( SiteMarkerBean( @@ -273,7 +273,22 @@ class BusPassengerPresenter(view: MainFragment?) : ) ) val bitmap = getBitmap(it.siteId!!, it.siteName ?: "", it.isCheck) - stationsNameList.add(SiteMarkerBean(LatLng(it.GcjLat, it.GcjLon), bitmap, 0.0f, 0.2f)) + val siteMarkerBean = SiteMarkerBean( + LatLng(it.GcjLat, it.GcjLon), + bitmap, + 0.0f, + 0.2f + ) + if (it.isCheck) { + checkMarkView = siteMarkerBean + } else { + stationsNameList.add( + siteMarkerBean + ) + } + } + if(checkMarkView!=null) { + stationsNameList.add(checkMarkView!!) } mView?.drawOverMapViewStation(stationsList, stationsNameList) }