From 06a74bb1d143254b5b191f72440d2de7b70217a3 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 16 Mar 2023 10:53:49 +0800 Subject: [PATCH] =?UTF-8?q?[m1]=20[=E5=9D=90=E6=A0=87=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E3=80=8130m=E6=94=B9=E4=B8=BA15m=E5=88=B0=E7=AB=99]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/bus/passenger/MogoOCHBusPassenger.kt | 4 +-- .../bean/response/OrderInfoResponse.kt | 2 ++ .../passenger/model/CharterPassengerModel.kt | 36 +++++++++++++------ .../net/BusPassengerModelLoopManager.kt | 6 ++-- ...engerConst.kt => CharterPassengerConst.kt} | 8 +++-- 5 files changed, 37 insertions(+), 19 deletions(-) rename OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/constant/{BusPassengerConst.kt => CharterPassengerConst.kt} (68%) diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.kt index 386c9dc8db..8187230dbc 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.kt @@ -8,7 +8,7 @@ import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager.getMapUIC import com.mogo.eagle.core.function.call.setting.CallerMoGoUiSettingManager.stepInDayMode import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant -import com.mogo.och.bus.passenger.constant.BusPassengerConst +import com.mogo.och.bus.passenger.constant.CharterPassengerConst import com.mogo.och.bus.passenger.ui.MainFragment /** @@ -16,7 +16,7 @@ import com.mogo.och.bus.passenger.ui.MainFragment * * Created on 2022/3/29 */ -@Route(path = BusPassengerConst.PATH) +@Route(path = CharterPassengerConst.PATH) class MogoOCHBusPassenger : IMogoOCH { private var mActivity: FragmentActivity? = null private var mContainerId = 0 diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/OrderInfoResponse.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/OrderInfoResponse.kt index f384ac23e6..9a47a12505 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/OrderInfoResponse.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/OrderInfoResponse.kt @@ -16,6 +16,8 @@ data class OrderInfoResponse(val data: OrderInfo?) : BaseData() { val siteName: String?,//站点名称 val wgs84Lat: Double?, val wgs84Lon: Double?, + var gcj02Lat: Double?, + var gcj02Lon: Double?, val startTime: Long?,//开始时间 val endTime: Long?,//结束时间 val passengerPhone: String?,//乘客手机号 diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt index 098c8cc14e..884a7c621f 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt @@ -31,7 +31,8 @@ import com.mogo.och.bus.passenger.callback.IBusPassengerADASStatusCallback import com.mogo.och.bus.passenger.callback.IBusPassengerControllerStatusCallback import com.mogo.och.bus.passenger.callback.IDistanceTimeCallback import com.mogo.och.bus.passenger.callback.IOrderChangeCallback -import com.mogo.och.bus.passenger.constant.BusPassengerConst.Companion.Charter_AVERAGE_SPEED +import com.mogo.och.bus.passenger.constant.CharterPassengerConst +import com.mogo.och.bus.passenger.constant.CharterPassengerConst.Companion.Charter_AVERAGE_SPEED import com.mogo.och.bus.passenger.net.BusPassengerModelLoopManager import com.mogo.och.bus.passenger.net.BusPassengerServiceManager import com.mogo.och.bus.passenger.utils.VoiceFocusManager @@ -359,8 +360,15 @@ object CharterPassengerModel { CallerLogger.d(M_BUS_P+TAG,"设置车模") } if(this.orderInfo?.siteId!=orderData.siteId){ - val siteGCJ = CoordinateTransform.WGS84ToGCJ02(order.wgs84Lon, order.wgs84Lat) - this.carTypeChageListener?.setEndStationCallBack(order.siteId,order.siteName,siteGCJ[0],siteGCJ[1]) + val coordinateConverterWgsToGcj = + CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj( + mContext, + order.wgs84Lon!!, + order.wgs84Lat!! + ) + order.gcj02Lon = coordinateConverterWgsToGcj.longitude + order.gcj02Lat = coordinateConverterWgsToGcj.latitude + this.carTypeChageListener?.setEndStationCallBack(order.siteId,order.siteName,order.gcj02Lon!!,order.gcj02Lat!!) } this.orderInfo?.orderNo?.let { if(it!=orderData.orderNo){ @@ -381,15 +389,22 @@ object CharterPassengerModel { //计算终点距离 mLocation?.let { currentInfo -> // 两点之间的距离 - val siteGCJ = CoordinateTransform.WGS84ToGCJ02(order.wgs84Lon, order.wgs84Lat) + val coordinateConverterWgsToGcj = + CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj( + mContext, + order.wgs84Lon!!, + order.wgs84Lat!! + ) + order.gcj02Lon = coordinateConverterWgsToGcj.longitude + order.gcj02Lat = coordinateConverterWgsToGcj.latitude val calculateLineDistance = CoordinateUtils.calculateLineDistance( currentInfo.longitude, currentInfo.latitude, - siteGCJ[0], - siteGCJ[1] + order.gcj02Lon!!, + order.gcj02Lat!! ) - // 小于30m到站 - if (calculateLineDistance < 30) { + // 小于15m到站 + if (calculateLineDistance < CharterPassengerConst.ARRIVE_AT_START_STATION_DISTANCE) { arriveDest() } } @@ -621,9 +636,8 @@ object CharterPassengerModel { //要前往的站在轨迹中对应的点 var nextRouteIndex: Int = mRoutePoints.size - 1 orderInfo?.let { - val wgS84ToGCJ02 = CoordinateTransform.WGS84ToGCJ02(it.wgs84Lon, it.wgs84Lat) nextRouteIndex = CoordinateCalculateRouteUtil.getArrivedPointIndexNew( - currentRouteIndex, mRoutePoints, wgS84ToGCJ02[0], wgS84ToGCJ02[1] + currentRouteIndex, mRoutePoints, it.gcj02Lon!!, it.gcj02Lat!! ) } var lastSumLength = 0f @@ -688,7 +702,7 @@ object CharterPassengerModel { siteInfo.GcjLon!!, siteInfo.GcjLat!! ) - if (calculateLineDistance < 30) { + if (calculateLineDistance < CharterPassengerConst.MIN_DISTANCE_STATION) { return if (index + 1 <= data.size - 1) { // <可用站点标,是否靠近> Pair(index + 1, true) diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/BusPassengerModelLoopManager.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/BusPassengerModelLoopManager.kt index 1686044518..4c1985ad4e 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/BusPassengerModelLoopManager.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/BusPassengerModelLoopManager.kt @@ -3,7 +3,7 @@ package com.mogo.och.bus.passenger.net import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P import com.mogo.och.bus.passenger.bean.LoopInfo -import com.mogo.och.bus.passenger.constant.BusPassengerConst +import com.mogo.och.bus.passenger.constant.CharterPassengerConst import com.mogo.och.bus.passenger.utils.RxUtils import io.reactivex.Observable import io.reactivex.disposables.Disposable @@ -57,8 +57,8 @@ object BusPassengerModelLoopManager { } CallerLogger.i(M_BUS_P + TAG, "startQueryDriverLineLoop()") mQueryLineDisposable = Observable.interval( - BusPassengerConst.LOOP_DELAY, - BusPassengerConst.LOOP_LINE_1S, TimeUnit.MILLISECONDS + CharterPassengerConst.LOOP_DELAY, + CharterPassengerConst.LOOP_LINE_1S, TimeUnit.MILLISECONDS ) .map { aLong: Long -> aLong + 1 } .subscribeOn(Schedulers.io()) diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/constant/BusPassengerConst.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/constant/CharterPassengerConst.kt similarity index 68% rename from OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/constant/BusPassengerConst.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/constant/CharterPassengerConst.kt index 8af7376b7b..7e77495a46 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/constant/BusPassengerConst.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/constant/CharterPassengerConst.kt @@ -1,11 +1,9 @@ package com.mogo.och.bus.passenger.constant -import com.mogo.commons.debug.DebugConfig - /** * Created on 2021/12/6 */ -class BusPassengerConst { +class CharterPassengerConst { companion object { // OCH arouter 路由path @@ -23,5 +21,9 @@ class BusPassengerConst { // 订单总里程 const val BUS_SP_KEY_ORDER_SUM_DIS = "BUS_SP_KEY_ORDER_SUM_DIS" + // 到达起始点围栏 + const val ARRIVE_AT_START_STATION_DISTANCE = 15 //围栏由20m改为50m 再次改为15m + const val MIN_DISTANCE_STATION = 30 //站点选择小于30m 不能选 + } } \ No newline at end of file