[fea]
[location 聚合]
This commit is contained in:
yangyakun
2024-07-04 16:35:43 +08:00
parent a93c0d45c1
commit a3b661cbe4
34 changed files with 179 additions and 162 deletions

View File

@@ -49,6 +49,7 @@ import com.mogo.och.common.module.manager.autopilot.autopilot.ArrivedStation
import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotManager
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
import com.mogo.och.common.module.manager.beautifymode.BeautifyManager
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
@@ -394,7 +395,7 @@ object CharterPassengerModel {
this.orderInfo = orderData
}
//计算终点距离
CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02().let { currentInfo ->
OchLocationManager.getGCJ02Location().let { currentInfo ->
// 两点之间的距离
val calculateLineDistance = CoordinateUtils.calculateLineDistance(
currentInfo.longitude,
@@ -644,7 +645,7 @@ object CharterPassengerModel {
*/
private fun calculateDistance() {
//mLocation gcj坐标
CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02().let {
OchLocationManager.getGCJ02Location().let {
orderInfo?.let { order ->
d(M_BUS_P + "calculateDistance", "订单信息:$order")
if (order.siteId == null || order.siteId == 0L ||
@@ -758,7 +759,7 @@ object CharterPassengerModel {
val distanceMap: MutableMap<Float, Int> = TreeMap()
// 计算所有点的距离
data.forEachIndexed { index, siteInfo ->
CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02().let { currentInfo ->
OchLocationManager.getGCJ02Location().let { currentInfo ->
// 两点之间的距离
val calculateLineDistance = CoordinateUtils.calculateLineDistance(
currentInfo.longitude,
@@ -806,7 +807,7 @@ object CharterPassengerModel {
if (middle == 0) {
return Pair(1, false)
}
CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02().let {
OchLocationManager.getGCJ02Location().let {
// 仅计算 距离最近的站点middle 附近5个坐标的夹角
// middle middle-1
@@ -1184,7 +1185,7 @@ object CharterPassengerModel {
}
val parameters = AutopilotControlParameters()
orderInfo?.let { orderInfo ->
CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().let { startPoint ->
OchLocationManager.getWgs02Location().let { startPoint ->
val startWgsLon: Double = startPoint.longitude
val startWgsLat: Double = startPoint.latitude
val endWgsLon: Double = orderInfo.wgs84Lon!!

View File

@@ -11,6 +11,7 @@ import com.mogo.och.charter.passenger.callback.IDistanceCallback
import com.mogo.och.charter.passenger.model.CharterPassengerModel
import com.mogo.och.charter.passenger.model.IOrderStatusChangeListener
import com.mogo.och.charter.passenger.model.OrderStatusEnum
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
import com.mogo.och.common.module.utils.DateTimeUtil
import com.mogo.och.common.module.utils.NumberFormatUtil
import kotlin.math.abs
@@ -24,7 +25,7 @@ class ItineraryViewModel : ViewModel(), IMoGoChassisLocationGCJ02Listener, IDist
private var viewCallback: ItineraryViewCallback? = null
init {
CallerChassisLocationGCJ02ListenerManager.addListener(TAG, 3, this)
OchLocationManager.addGCJ02Listener(TAG, 3, this)
CharterPassengerModel.setStationDistanceListener(TAG, this)
CharterPassengerModel.setStatusChangeListener(TAG, this)
}
@@ -32,7 +33,7 @@ class ItineraryViewModel : ViewModel(), IMoGoChassisLocationGCJ02Listener, IDist
override fun onCleared() {
super.onCleared()
this.viewCallback = null
CallerChassisLocationGCJ02ListenerManager.removeListener(TAG)
OchLocationManager.removeGCJ02Listener(TAG)
CharterPassengerModel.setStationDistanceListener(TAG, null)
CharterPassengerModel.setStatusChangeListener(TAG, null)
}

View File

@@ -26,6 +26,7 @@ import com.mogo.och.common.module.manager.socket.lan.bean.ChangeDestMsg
import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType
import com.mogo.och.common.module.manager.socket.lan.bean.LineSite
import com.mogo.och.common.module.constant.OchCommonConst
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
import com.mogo.och.common.module.network.OchCommonServiceCallback
import com.mogo.och.common.module.manager.stopside.StopSideManager
import com.mogo.och.common.module.manager.loop.BizLoopManager
@@ -366,8 +367,7 @@ class SelectLineViewModel : ViewModel(), IOrderStatusChangeListener {
}
fun canSwitchLine(): Boolean {
val gnssSpeed =
CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02().gnssSpeed
val gnssSpeed = OchLocationManager.getGCJ02Location().gnssSpeed
if (gnssSpeed < 0.5) {
when (CallerAutoPilotStatusListenerManager.getState()) {
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> {// 不可自动驾驶