[m1]
[坐标转换、30m改为15m到站]
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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?,//乘客手机号
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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 不能选
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user