[6.5.0][道路事件] 绿波通行业务逻辑
This commit is contained in:
@@ -2,6 +2,7 @@ package com.mogo.map
|
||||
|
||||
import com.mogo.eagle.core.data.map.MogoLocation
|
||||
import com.mogo.map.entities.BusStation
|
||||
import com.mogo.map.entities.CrossRoad
|
||||
import com.mogo.map.entities.Lane
|
||||
import com.mogo.map.entities.RoadInfo
|
||||
import com.zhidaoauto.map.data.point.LonLatPoint
|
||||
@@ -121,4 +122,9 @@ interface IMogoData {
|
||||
* 获取公交站点集合
|
||||
*/
|
||||
fun getBusStation(routeList: ArrayList<LonLatPoint>): List<BusStation>
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取路口数据
|
||||
*/
|
||||
fun getCrossRoad(lon: Double, lat: Double, angle: Double): CrossRoad?
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.mogo.map.entities
|
||||
|
||||
data class CrossRoad(
|
||||
val status: Int, // 0: 不在路口 1: 在路口
|
||||
val tile_id: String, // 起始路口瓦片id或者当前路口的瓦片id
|
||||
val cross_id: String, // 起始路口id或当前路口id
|
||||
val tile_id_end: String, //
|
||||
val cross_id_end: String
|
||||
)
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user