[6.5.0]
[fea] [location 聚合]
This commit is contained in:
@@ -46,6 +46,7 @@ import com.mogo.och.common.module.manager.CharterSendTripInfoManager.END_TRIP
|
||||
import com.mogo.och.common.module.manager.CharterSendTripInfoManager.START_TRIP
|
||||
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotManager
|
||||
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.common.module.manager.device.LightAirconditionDoorManager
|
||||
import com.mogo.och.common.module.manager.device.LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
@@ -76,8 +77,6 @@ import com.mogo.och.data.bean.*
|
||||
*/
|
||||
class DriverM1Model {
|
||||
|
||||
var mLongitude = 0.0
|
||||
var mLatitude = 0.0
|
||||
private var mContext: Context? = null
|
||||
|
||||
private var isArrivedStation: Boolean = false
|
||||
@@ -118,7 +117,7 @@ class DriverM1Model {
|
||||
fun init(context: Context) {
|
||||
mContext = context
|
||||
// 定位监听
|
||||
CallerChassisLocationGCJ02ListenerManager.addListener(TAG, 5, mMapLocationListener)
|
||||
OchLocationManager.addGCJ02Listener(TAG, 5, mMapLocationListener)
|
||||
|
||||
//开启自驾后 异常信息返回
|
||||
OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(mAdasStartFailureListener)
|
||||
@@ -174,7 +173,7 @@ class DriverM1Model {
|
||||
|
||||
fun release() {
|
||||
// 注销定位监听
|
||||
CallerChassisLocationGCJ02ListenerManager.removeListener(TAG)
|
||||
OchLocationManager.removeGCJ02Listener(TAG)
|
||||
|
||||
OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(null)
|
||||
releaseSocketMessageListener(
|
||||
@@ -363,8 +362,6 @@ class DriverM1Model {
|
||||
object : IMoGoChassisLocationGCJ02Listener {
|
||||
override fun onChassisLocationGCJ02(gnssInfo: MogoLocation?) {
|
||||
if (null == gnssInfo) return
|
||||
mLongitude = gnssInfo.longitude
|
||||
mLatitude = gnssInfo.latitude
|
||||
|
||||
//是否到站的围栏判断 自动驾驶还未触发到站
|
||||
if (!isArrivedStation) {
|
||||
@@ -547,7 +544,7 @@ class DriverM1Model {
|
||||
|
||||
// 登出
|
||||
fun logout() {
|
||||
LoginStatusManager.loginOut(mLatitude, mLongitude)
|
||||
LoginStatusManager.loginOut()
|
||||
}
|
||||
|
||||
fun triggerStartServiceEvent(isRestart: Boolean, send: Boolean) {
|
||||
@@ -610,9 +607,10 @@ class DriverM1Model {
|
||||
parameters.routeName = mCurrentOrder?.lineName!!
|
||||
parameters.startName = PinYinUtil.getPinYinHeadChar(mCurrentOrder?.startSiteName)
|
||||
parameters.endName = PinYinUtil.getPinYinHeadChar(mCurrentOrder?.siteName)
|
||||
val gcJ02Location = OchLocationManager.getGCJ02Location()
|
||||
parameters.startLatLon = AutopilotControlParameters.AutoPilotLonLat(
|
||||
mLatitude,
|
||||
mLongitude
|
||||
gcJ02Location.latitude,
|
||||
gcJ02Location.longitude
|
||||
)
|
||||
parameters.endLatLon =
|
||||
AutopilotControlParameters.AutoPilotLonLat(mCurrentOrder?.wgs84Lat!!, mCurrentOrder?.wgs84Lon!!)
|
||||
|
||||
@@ -5,8 +5,8 @@ import com.magic.mogo.och.charter.model.DriverM1Model
|
||||
import com.mogo.eagle.core.data.map.MogoLocation
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
|
||||
import kotlin.math.abs
|
||||
|
||||
class CarStatusViewModel: ViewModel(), IMoGoAutopilotStatusListener,
|
||||
@@ -24,12 +24,12 @@ class CarStatusViewModel: ViewModel(), IMoGoAutopilotStatusListener,
|
||||
override fun onCleared() {
|
||||
super.onCleared()
|
||||
this.viewCallback = null
|
||||
CallerChassisLocationGCJ02ListenerManager.removeListener(DriverM1Model.TAG)
|
||||
OchLocationManager.removeGCJ02Listener(DriverM1Model.TAG)
|
||||
}
|
||||
|
||||
fun setAutopilotStatusCallback(viewCallback:ICarStatusCallback){
|
||||
this.viewCallback = viewCallback
|
||||
CallerChassisLocationGCJ02ListenerManager.addListener(DriverM1Model.TAG, 3, this)
|
||||
OchLocationManager.addGCJ02Listener(DriverM1Model.TAG, 3, this)
|
||||
}
|
||||
|
||||
interface ICarStatusCallback{
|
||||
|
||||
@@ -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!!
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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 -> {// 不可自动驾驶
|
||||
|
||||
Reference in New Issue
Block a user