[6.5.0][道路事件] 绿波通行业务逻辑

This commit is contained in:
renwj
2024-07-03 19:50:49 +08:00
parent fd087758c9
commit de4d758930
10 changed files with 190 additions and 31 deletions

View File

@@ -6,11 +6,13 @@ import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_MAP
import com.mogo.map.MogoData.Companion.mogoMapData
import com.mogo.map.entities.BusStation
import com.mogo.map.entities.CrossRoad
import com.mogo.map.entities.Lane
import com.mogo.map.location.GDLocationClient.Companion.gdLocationClient
import com.mogo.map.utils.HDMapUtils.getHDCityCode
import com.zhidaoauto.map.data.point.LonLatPoint
import com.zhidaoauto.map.data.road.CenterLine
import com.zhidaoauto.map.data.road.RoadCross
import com.zhidaoauto.map.data.road.RoadNameInfo
import com.zhidaoauto.map.data.road.RoadRectInfos
import com.zhidaoauto.map.data.road.RoutePath
@@ -21,6 +23,7 @@ import com.zhidaoauto.map.sdk.open.abs.OnHdDataDownByCityListener
import com.zhidaoauto.map.sdk.open.data.CityInfo
import com.zhidaoauto.map.sdk.open.data.MapDataApi
import java.util.concurrent.CountDownLatch
import java.util.concurrent.atomic.AtomicReference
/**
* 地图数据工具,涉及到数据调用可能会有耗时建议IO操作
@@ -303,4 +306,18 @@ object MapDataWrapper : IMogoData {
latch.await()
return resultList
}
override fun getCrossRoad(lon: Double, lat: Double, angle: Double): CrossRoad? {
val latch = CountDownLatch(1)
val temp = AtomicReference<CrossRoad>()
MapDataApi.getCrossRoad(lon, lat, angle.toFloat(), object : IResult<RoadCross> {
override fun result(code: Int, result: RoadCross?) {
temp.set(CrossRoad(result?.status ?: 0, result?.tile_id ?: "", result?.cross_id ?: "", result?.tile_id_end ?: "", result?.cross_id_end ?: ""))
latch.countDown()
}
})
latch.await()
return temp.get()
}
}