[3.2.0][Opt]全览轨迹1s内只接受首次的

This commit is contained in:
chenfufeng
2023-06-08 15:17:52 +08:00
committed by zhongchao
parent 978d168e9a
commit 77d9d2b753
3 changed files with 20 additions and 7 deletions

View File

@@ -40,7 +40,7 @@ object MarkerDrawerManager {
fun startLoopCalCarLocation() {
routeWipeDisposable = CompositeDisposable()
getLoopCalCarObservable().delay(500L, TimeUnit.MILLISECONDS, true)
getLoopCalCarObservable().delay(800L, TimeUnit.MILLISECONDS, true)
.subscribeOn(Schedulers.io())
.repeat()
.retry()

View File

@@ -124,6 +124,9 @@ class OverMapView @JvmOverloads constructor(
@Volatile
private var isFirst = true
@Volatile
private var lastTime = 0L
// 用来绘制轨迹线
private val singlePool by lazy {
Executors.newSingleThreadExecutor()
@@ -759,10 +762,16 @@ class OverMapView @JvmOverloads constructor(
mStartMarker?.isVisible = false
mEndMarker?.isVisible = false
if (coordinates.size > 2) {
Log.d(TAG, "绘制起终点")
// 设置开始结束Marker位置
val startLatLng = coordinates[0]
val endLatLng = coordinates[coordinates.size - 1]
val startLatLng = LatLng(coordinates[0].latitude, coordinates[0].longitude)
val endLatLng = LatLng(
coordinates[coordinates.size - 1].latitude,
coordinates[coordinates.size - 1].longitude
)
Log.d(
TAG,
"绘制起终点,起点为:(${startLatLng.longitude},${startLatLng.latitude}),终点为:(${endLatLng.longitude},${endLatLng.latitude})"
)
mStartMarker?.position = startLatLng
mEndMarker?.position = endLatLng
mStartMarker?.isVisible = true
@@ -943,8 +952,14 @@ class OverMapView @JvmOverloads constructor(
* 室内某个bag包自动驾驶启动8s后返回
*/
override fun onAutopilotRotting(globalPathResp: MessagePad.GlobalPathResp?) {
// 上一步调用处已经加锁,这里就不加了
if (lastTime > 0 && System.currentTimeMillis() - lastTime <= 1000) {
return
} else {
lastTime = System.currentTimeMillis()
}
globalPathResp?.let {
ThreadUtils.getSinglePool().execute {
ThreadUtils.getIoPool().execute {
handlePlanningData(it.wayPointsList)
}
}