From 81a22a63cf280afc0446866ac73d7f7ff5cd8d8d Mon Sep 17 00:00:00 2001 From: donghongyu Date: Tue, 7 Feb 2023 21:18:27 +0800 Subject: [PATCH] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]=20[Change]=20[=201?= =?UTF-8?q?=E3=80=81=E4=BF=AE=E5=A4=8D=E5=90=8C=E6=AD=A5=E5=AE=9A=E4=BD=8D?= =?UTF-8?q?gcj02=E5=BC=82=E5=B8=B8=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- ...llerChassisLocationGCJ02ListenerManager.kt | 39 ++++++++++--------- ...llerChassisLocationWGS84ListenerManager.kt | 35 +++++++++-------- 2 files changed, 38 insertions(+), 36 deletions(-) diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt index d25abf2a79..7fd0976c7e 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt @@ -52,29 +52,30 @@ object CallerChassisLocationGCJ02ListenerManager : CallerBaseGCJ02 坐标 val gcj20Location = CoordinateTransform.WGS84ToGCJ02(gnssInfo.longitude, gnssInfo.latitude) + mGnssInfo?.let { + mGnssInfo!!.longitude = gcj20Location[0] + mGnssInfo!!.latitude = gcj20Location[1] - mGnssInfo!!.longitude = gcj20Location[0] - mGnssInfo!!.latitude = gcj20Location[1] - - M_LISTENERS.forEach { - val tag = it.key - // 获取数据监听需要的HZ - val hz = M_LISTENERS_HZ[tag] - if (hz != null && hz > 0) { - val hzTime = (1.0 / hz.toDouble()) * 1000 - // 获取最后一次回调的时间 - val hzLastSendTime = M_LISTENERS_HZ_LAST_SEND_TIME[tag] - if (hzLastSendTime != null && hzLastSendTime > 0) { - // 计算是否进入下一次回调周期 - val nowTime = TimeUtils.getNowMills() - if (nowTime - hzLastSendTime > hzTime) { - syncLocationCallback(tag, it, gnssInfo, sourceType) + M_LISTENERS.forEach { + val tag = it.key + // 获取数据监听需要的HZ + val hz = M_LISTENERS_HZ[tag] + if (hz != null && hz > 0) { + val hzTime = (1.0 / hz.toDouble()) * 1000 + // 获取最后一次回调的时间 + val hzLastSendTime = M_LISTENERS_HZ_LAST_SEND_TIME[tag] + if (hzLastSendTime != null && hzLastSendTime > 0) { + // 计算是否进入下一次回调周期 + val nowTime = TimeUtils.getNowMills() + if (nowTime - hzLastSendTime > hzTime) { + syncLocationCallback(tag, it, mGnssInfo!!, sourceType) + } + } else { + syncLocationCallback(tag, it, mGnssInfo!!, sourceType) } } else { - syncLocationCallback(tag, it, gnssInfo, sourceType) + syncLocationCallback(tag, it, mGnssInfo!!, sourceType) } - } else { - syncLocationCallback(tag, it, gnssInfo, sourceType) } } } ?: let { diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationWGS84ListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationWGS84ListenerManager.kt index 81b0316fce..38a45f7fd9 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationWGS84ListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationWGS84ListenerManager.kt @@ -4,7 +4,6 @@ import com.mogo.eagle.core.data.enums.DataSourceType import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationWGS84Listener import com.mogo.eagle.core.function.call.base.CallerBase -import com.mogo.eagle.core.utilcode.util.FileUtils import com.mogo.eagle.core.utilcode.util.TimeUtils /** @@ -41,25 +40,27 @@ object CallerChassisLocationWGS84ListenerManager : CallerBase 0) { - val hzTime = (1.0 / hz.toDouble()) * 1000 - // 获取最后一次回调的时间 - val hzLastSendTime = M_LISTENERS_HZ_LAST_SEND_TIME[tag] - if (hzLastSendTime != null && hzLastSendTime > 0) { - // 计算是否进入下一次回调周期 - val nowTime = TimeUtils.getNowMills() - if (nowTime - hzLastSendTime > hzTime) { - syncLocationCallback(tag, it, gnssInfo, sourceType) + mGnssInfo?.let { + M_LISTENERS.forEach { + val tag = it.key + // 获取数据监听需要的HZ + val hz = M_LISTENERS_HZ[tag] + if (hz != null && hz > 0) { + val hzTime = (1.0 / hz.toDouble()) * 1000 + // 获取最后一次回调的时间 + val hzLastSendTime = M_LISTENERS_HZ_LAST_SEND_TIME[tag] + if (hzLastSendTime != null && hzLastSendTime > 0) { + // 计算是否进入下一次回调周期 + val nowTime = TimeUtils.getNowMills() + if (nowTime - hzLastSendTime > hzTime) { + syncLocationCallback(tag, it, mGnssInfo!!, sourceType) + } + } else { + syncLocationCallback(tag, it, mGnssInfo!!, sourceType) } } else { - syncLocationCallback(tag, it, gnssInfo, sourceType) + syncLocationCallback(tag, it, mGnssInfo!!, sourceType) } - } else { - syncLocationCallback(tag, it, gnssInfo, sourceType) } } }