[3.4.0-map-sdk] code style
This commit is contained in:
@@ -31,41 +31,45 @@ import java.util.concurrent.CopyOnWriteArrayList
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
|
||||
|
||||
class RoadHelper {
|
||||
class RoadHelper private constructor() {
|
||||
|
||||
val TAG = javaClass.simpleName
|
||||
companion object{
|
||||
const val TAG = "RoadHelper"
|
||||
|
||||
var sInstance: RoadHelper? = null
|
||||
|
||||
@Synchronized
|
||||
fun getInstance(): RoadHelper? {
|
||||
if (sInstance == null) {
|
||||
sInstance = RoadHelper()
|
||||
}
|
||||
return sInstance
|
||||
}
|
||||
}
|
||||
|
||||
private var routeInfoProvider: RouteInfoProvider = RouteInfoProvider()
|
||||
private var hdMapProvider: HDMapProvider = HDMapProvider()
|
||||
private var mapBox: MapBox = MapBox()
|
||||
|
||||
private var routeInfoProvider: RouteInfoProvider
|
||||
private var hdMapProvider: HDMapProvider
|
||||
private var mapBox: MapBox
|
||||
//GPS匹配最小距离
|
||||
private val minGPSDistance = 15f;
|
||||
private val minGPSDistance = 15f
|
||||
//GPS匹配最小角度
|
||||
private val minGPSAngle = 15f;
|
||||
private val minGPSAngle = 15f
|
||||
//RTK匹配最小距离
|
||||
private val minRTKDistance = 5f;
|
||||
private val minRTKDistance = 5f
|
||||
//RTK匹配最小角度
|
||||
private val minRTKAngle = 5f;
|
||||
private val minRTKAngle = 5f
|
||||
|
||||
private val MAX_CACHE_SIZE = 20 // Set the maximum size of the cache
|
||||
|
||||
//限速相关
|
||||
var lastSpeed = 60
|
||||
|
||||
|
||||
private var cacheHdDataProgressJob: Job? = null
|
||||
|
||||
private var mHdDataDownloadListener: ConcurrentHashMap<Int, OnHdDataDownByCityListener>? = null
|
||||
|
||||
private constructor() {
|
||||
routeInfoProvider = RouteInfoProvider()
|
||||
hdMapProvider = HDMapProvider()
|
||||
mapBox = MapBox()
|
||||
}
|
||||
|
||||
fun release(){
|
||||
|
||||
|
||||
cacheHdDataProgressJob?.cancel()
|
||||
cacheHdDataProgressJob = null
|
||||
|
||||
@@ -76,39 +80,23 @@ class RoadHelper {
|
||||
|
||||
RouteInfoProvider.release()
|
||||
if(CompileConfig.DEBUG){
|
||||
Log.w(TAG, "destroyop--:RouteInfoProvider.destory")
|
||||
Log.w(TAG, "destroyop--:RouteInfoProvider.destroy")
|
||||
}
|
||||
hdMapProvider.release()
|
||||
if(CompileConfig.DEBUG){
|
||||
Log.w(TAG, "destroyop--:hdMapProvider.destory")
|
||||
Log.w(TAG, "destroyop--:hdMapProvider.destroy")
|
||||
}
|
||||
RoadResultController.instance.exit()
|
||||
if(CompileConfig.DEBUG){
|
||||
Log.w(TAG, "destroyop--:RoadResultController.destory")
|
||||
Log.w(TAG, "destroyop--:RoadResultController.destroy")
|
||||
}
|
||||
mapBox.llaRelease();
|
||||
mapBox.llaRelease()
|
||||
if(CompileConfig.DEBUG){
|
||||
Log.w(TAG, "destroyop--:mapBox.destory")
|
||||
Log.w(TAG, "destroyop--:mapBox.destroy")
|
||||
}
|
||||
sInstance = null
|
||||
}
|
||||
|
||||
// companion object {
|
||||
// val instance: RoadHelper by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { RoadHelper() }
|
||||
// }
|
||||
|
||||
companion object{
|
||||
var sInstance: RoadHelper? = null
|
||||
|
||||
@Synchronized
|
||||
fun getInstance(): RoadHelper? {
|
||||
if (sInstance == null) {
|
||||
sInstance = RoadHelper()
|
||||
}
|
||||
return sInstance
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取道路信息
|
||||
* coor 坐标系,0 GPS ,1 gcj
|
||||
@@ -124,7 +112,6 @@ class RoadHelper {
|
||||
return routeInfoProvider.getRouteInfo(centerLon, centerLat, coor, roadType);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取行车方向
|
||||
*
|
||||
@@ -168,7 +155,6 @@ class RoadHelper {
|
||||
return result
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 转换道路信息经纬度
|
||||
*/
|
||||
@@ -180,31 +166,29 @@ class RoadHelper {
|
||||
return result
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取匹配道路
|
||||
*
|
||||
*/
|
||||
fun getSinglePointMatchRoad(lon: Double, lat: Double, angle: Float, isGPS: Boolean,isRTK:Boolean): SinglePointRoadInfo? {
|
||||
|
||||
var result = ""
|
||||
var rulerDistance = minGPSDistance
|
||||
var rulerAngle = minGPSAngle
|
||||
if(isRTK){
|
||||
rulerDistance = minRTKDistance
|
||||
rulerAngle = minRTKAngle
|
||||
}
|
||||
if (!isGPS) {
|
||||
val lonLat = CommonProxy.getInstance().getLonLatProxy().switchLonLat(LonLatPoint(lon.toDouble(), lat.toDouble()))
|
||||
val result = if (!isGPS) {
|
||||
val lonLat = CommonProxy.getInstance().getLonLatProxy().switchLonLat(LonLatPoint(lon, lat))
|
||||
if (CompileConfig.DEBUG) {
|
||||
Log.i(TAG, "roadop--gisop getSinglePointMatchRoad:${lonLat.lon},${lonLat.lat},${angle},${isGPS}")
|
||||
}
|
||||
result = routeInfoProvider.matchHDSinglePointOnRoad(lonLat.lon, lonLat.lat, angle,rulerDistance,rulerAngle,!isRTK)
|
||||
routeInfoProvider.matchHDSinglePointOnRoad(lonLat.lon, lonLat.lat, angle,rulerDistance,rulerAngle,!isRTK)
|
||||
} else {
|
||||
if (CompileConfig.DEBUG) {
|
||||
Log.i(TAG, "roadop--gisop getSinglePointMatchRoad:${lon},${lat},${angle},${isGPS}")
|
||||
}
|
||||
result = routeInfoProvider.matchHDSinglePointOnRoad(lon, lat, angle,rulerDistance,rulerAngle,!isRTK)
|
||||
routeInfoProvider.matchHDSinglePointOnRoad(lon, lat, angle,rulerDistance,rulerAngle,!isRTK)
|
||||
}
|
||||
if (CompileConfig.DEBUG) {
|
||||
Log.i(TAG, "roadop--gisop getSinglePointMatchRoad:result:${result}")
|
||||
@@ -323,15 +307,15 @@ class RoadHelper {
|
||||
roadSign.shape = trafficSign.shape
|
||||
roadSign.tileId = trafficSign.tileId
|
||||
roadSign.type = trafficSign.type
|
||||
val postion = ArrayList<RoadSignPostion>()
|
||||
val position = ArrayList<RoadSignPostion>()
|
||||
for (trafficSignPosition in trafficSign.position){
|
||||
val roadSignPostion = RoadSignPostion()
|
||||
roadSignPostion.lon = trafficSignPosition.lon
|
||||
roadSignPostion.lat = trafficSignPosition.lat
|
||||
roadSignPostion.hight = trafficSignPosition.hight
|
||||
postion.add(roadSignPostion)
|
||||
val roadSignPosition = RoadSignPostion()
|
||||
roadSignPosition.lon = trafficSignPosition.lon
|
||||
roadSignPosition.lat = trafficSignPosition.lat
|
||||
roadSignPosition.hight = trafficSignPosition.hight
|
||||
position.add(roadSignPosition)
|
||||
}
|
||||
roadSign.position = postion
|
||||
roadSign.position = position
|
||||
roadSignList.add(roadSign)
|
||||
}
|
||||
|
||||
@@ -366,15 +350,14 @@ class RoadHelper {
|
||||
return
|
||||
}
|
||||
result?.let {
|
||||
var result = it
|
||||
var buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
val buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
buf?.let {
|
||||
val roadInfo = RoadInfo()
|
||||
roadInfo.tileID = it.getInt()
|
||||
roadInfo.id = it.getInt()
|
||||
roadInfo.speed = it.getInt()
|
||||
roadInfo.roadID = it.getInt()
|
||||
roadInfo.laneId = it.getInt()
|
||||
roadInfo.tileID = buf.int
|
||||
roadInfo.id = buf.int
|
||||
roadInfo.speed = buf.int
|
||||
roadInfo.roadID = buf.int
|
||||
roadInfo.laneId = buf.int
|
||||
if(roadInfo.speed>250){
|
||||
roadInfo.speed = lastSpeed
|
||||
}else{
|
||||
@@ -383,7 +366,7 @@ class RoadHelper {
|
||||
if (CompileConfig.DEBUG) {
|
||||
LogHelper.info(
|
||||
TAG,
|
||||
"roadop--getRoadLimitSpeed--roadInfo: ${roadInfo}"
|
||||
"roadop--getRoadLimitSpeed--roadInfo: $roadInfo"
|
||||
)
|
||||
}
|
||||
// Add new value to LinkedHashMap
|
||||
@@ -436,7 +419,7 @@ class RoadHelper {
|
||||
* This function returns the center line of a given road segment.
|
||||
*
|
||||
* @param dLon The longitude of the starting point of the road segment.
|
||||
* @param dlat The latitude of the starting point of the road segment.
|
||||
* @param dLat The latitude of the starting point of the road segment.
|
||||
* @param fAngle The angle of the road segment.
|
||||
* @return The center line of the road segment.
|
||||
*/
|
||||
@@ -456,26 +439,25 @@ class RoadHelper {
|
||||
|
||||
override fun result(code: Int, result: ByteArray?) {
|
||||
if (CompileConfig.DEBUG) {
|
||||
Log.d(TAG, "roadop--getCenterLine--code:${code}, result: ${result}")
|
||||
Log.d(TAG, "roadop--getCenterLine--code:${code}, result: $result")
|
||||
}
|
||||
if (result?.isEmpty() == true){
|
||||
call.result(1,null)
|
||||
return
|
||||
}
|
||||
result?.let {
|
||||
var result = it
|
||||
var buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
val buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
|
||||
buf?.let {
|
||||
var centerLine = CenterLine()
|
||||
centerLine.id = buf.getInt().toString()
|
||||
centerLine.tile_id = buf.getInt().toString()
|
||||
centerLine.road_id = buf.getInt().toString()
|
||||
centerLine.lane_id = buf.getInt().toString()
|
||||
var size = buf.getInt()
|
||||
var points = ArrayList<LonLatPoint>()
|
||||
val centerLine = CenterLine()
|
||||
centerLine.id = buf.int.toString()
|
||||
centerLine.tile_id = buf.int.toString()
|
||||
centerLine.road_id = buf.int.toString()
|
||||
centerLine.lane_id = buf.int.toString()
|
||||
val size = buf.int
|
||||
val points = ArrayList<LonLatPoint>()
|
||||
for (i in 0 until size step 2) {
|
||||
var lonLatPoint = LonLatPoint(buf.getLong()/ 1e8, buf.getLong()/ 1e8)
|
||||
val lonLatPoint = LonLatPoint(buf.long / 1e8, buf.long / 1e8)
|
||||
points.add(lonLatPoint)
|
||||
}
|
||||
centerLine.points = points
|
||||
@@ -488,7 +470,7 @@ class RoadHelper {
|
||||
if (CompileConfig.DEBUG) {
|
||||
Log.d(
|
||||
TAG,
|
||||
"roadop--getCenterLine--centerLine: ${centerLine}"
|
||||
"roadop--getCenterLine--centerLine: $centerLine"
|
||||
)
|
||||
}
|
||||
call.result(0, centerLine)
|
||||
@@ -514,7 +496,7 @@ class RoadHelper {
|
||||
* It also calculates the distance from the current location to the stop line using MapDataApi.getNearstFromPointToSegment function.
|
||||
*
|
||||
* @param dLon The longitude of the point of interest.
|
||||
* @param dlat The latitude of the point of interest.
|
||||
* @param dLat The latitude of the point of interest.
|
||||
* @param fAngle The angle in degrees of the vehicle at the point of interest.
|
||||
* @return A StopLine object that contains information about the stop line, or null if no stop line was found.
|
||||
*/
|
||||
@@ -542,41 +524,40 @@ class RoadHelper {
|
||||
return
|
||||
}
|
||||
result?.let {
|
||||
var result = it
|
||||
var buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
val buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
buf?.let {
|
||||
val tile_id = it.getInt()
|
||||
if(tile_id == 0){
|
||||
val tileId = buf.int
|
||||
if(tileId == 0){
|
||||
call.result(1,null)
|
||||
return
|
||||
}
|
||||
val stopLine = StopLine()
|
||||
stopLine.tile_id = "${tile_id}"
|
||||
stopLine.length = it.getInt().toDouble()
|
||||
val roadIdSize = it.getInt()
|
||||
val laneIdSize = it.getInt()
|
||||
val pointSize = it.getInt()
|
||||
var roadIds = ArrayList<String>()
|
||||
stopLine.tile_id = "$tileId"
|
||||
stopLine.length = buf.int.toDouble()
|
||||
val roadIdSize = buf.int
|
||||
val laneIdSize = buf.int
|
||||
val pointSize = buf.int
|
||||
val roadIds = ArrayList<String>()
|
||||
for (i in 0 until roadIdSize) {
|
||||
var roadId = it.getInt().toString()
|
||||
val roadId = buf.int.toString()
|
||||
roadIds.add(roadId)
|
||||
}
|
||||
stopLine.road_id = roadIds
|
||||
var laneIds = ArrayList<String>()
|
||||
val laneIds = ArrayList<String>()
|
||||
for (i in 0 until laneIdSize) {
|
||||
var laneId = it.getInt().toString()
|
||||
val laneId = buf.int.toString()
|
||||
laneIds.add(laneId)
|
||||
}
|
||||
stopLine.lane_id = laneIds
|
||||
var points = ArrayList<LonLatPoint>()
|
||||
val points = ArrayList<LonLatPoint>()
|
||||
for (i in 0 until pointSize step 2) {
|
||||
var lonLatPoint = LonLatPoint(buf.getLong()/ 1e8, buf.getLong()/ 1e8)
|
||||
val lonLatPoint = LonLatPoint(buf.long / 1e8, buf.long / 1e8)
|
||||
points.add(lonLatPoint)
|
||||
}
|
||||
stopLine.points = points
|
||||
// Print the stop line object to the log if debugging is enabled.
|
||||
if (CompileConfig.DEBUG) {
|
||||
Log.d(TAG, "roadop--getStopLine--stopLine: ${stopLine}")
|
||||
Log.d(TAG, "roadop--getStopLine--stopLine: $stopLine")
|
||||
}
|
||||
stopLineCache.put(key,stopLine)
|
||||
call.result(0,stopLine)
|
||||
@@ -624,26 +605,25 @@ class RoadHelper {
|
||||
return
|
||||
}
|
||||
result?.let {
|
||||
var result = it
|
||||
var buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
val buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
buf?.let {
|
||||
val roadRectInfos = RoadRectInfos()
|
||||
roadRectInfos.angle = it.getLong() / 1e8
|
||||
roadRectInfos.angle = buf.long / 1e8
|
||||
val rectList = ArrayList<RoadRect>()
|
||||
val size = it.getInt()
|
||||
val size = buf.int
|
||||
for (i in 0 until size step 8) {
|
||||
val rect = RoadRect()
|
||||
rect.topLeft = LonLatPoint(it.getLong() / 1e8, it.getLong() / 1e8)
|
||||
rect.topRight = LonLatPoint(it.getLong() / 1e8, it.getLong() / 1e8)
|
||||
rect.bottomLeft = LonLatPoint(it.getLong() / 1e8, it.getLong() / 1e8)
|
||||
rect.bottomRight = LonLatPoint(it.getLong() / 1e8, it.getLong() / 1e8)
|
||||
rect.topLeft = LonLatPoint(buf.long / 1e8, buf.long / 1e8)
|
||||
rect.topRight = LonLatPoint(buf.long / 1e8, buf.long / 1e8)
|
||||
rect.bottomLeft = LonLatPoint(buf.long / 1e8, buf.long / 1e8)
|
||||
rect.bottomRight = LonLatPoint(buf.long / 1e8, buf.long / 1e8)
|
||||
rectList.add(rect)
|
||||
}
|
||||
roadRectInfos.roadRects = rectList
|
||||
if (CompileConfig.DEBUG) {
|
||||
Log.d(
|
||||
TAG,
|
||||
"roadop--getRoadRect--roadRectInfos: ${roadRectInfos}"
|
||||
"roadop--getRoadRect--roadRectInfos: $roadRectInfos"
|
||||
)
|
||||
}
|
||||
// Add the result to the cache
|
||||
@@ -693,19 +673,18 @@ class RoadHelper {
|
||||
return
|
||||
}
|
||||
result?.let {
|
||||
var result = it
|
||||
var buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
val buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
|
||||
buf?.let {
|
||||
var centerLine = CenterLine()
|
||||
centerLine.id = buf.getInt().toString()
|
||||
centerLine.tile_id = buf.getInt().toString()
|
||||
centerLine.road_id = buf.getInt().toString()
|
||||
centerLine.lane_id = buf.getInt().toString()
|
||||
var size = buf.getInt()
|
||||
var points = ArrayList<LonLatPoint>()
|
||||
val centerLine = CenterLine()
|
||||
centerLine.id = buf.int.toString()
|
||||
centerLine.tile_id = buf.int.toString()
|
||||
centerLine.road_id = buf.int.toString()
|
||||
centerLine.lane_id = buf.int.toString()
|
||||
val size = buf.int
|
||||
val points = ArrayList<LonLatPoint>()
|
||||
for (i in 0 until size step 2) {
|
||||
var lonLatPoint = LonLatPoint(buf.getLong()/ 1e8, buf.getLong()/ 1e8)
|
||||
val lonLatPoint = LonLatPoint(buf.long / 1e8, buf.long / 1e8)
|
||||
points.add(lonLatPoint)
|
||||
}
|
||||
centerLine.points = points
|
||||
@@ -718,7 +697,7 @@ class RoadHelper {
|
||||
if (CompileConfig.DEBUG) {
|
||||
LogHelper.info(
|
||||
TAG,
|
||||
"roadop--getCenterLineRange--centerLine: ${centerLine}"
|
||||
"roadop--getCenterLineRange--centerLine: $centerLine"
|
||||
)
|
||||
}
|
||||
call.result(0, centerLine)
|
||||
@@ -771,19 +750,18 @@ class RoadHelper {
|
||||
return
|
||||
}
|
||||
result?.let {
|
||||
var result = it
|
||||
var buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
val buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
|
||||
buf?.let {
|
||||
var centerLine = CenterLine()
|
||||
centerLine.id = buf.getInt().toString()
|
||||
centerLine.tile_id = buf.getInt().toString()
|
||||
centerLine.road_id = buf.getInt().toString()
|
||||
centerLine.lane_id = buf.getInt().toString()
|
||||
var size = buf.getInt()
|
||||
var points = ArrayList<LonLatPoint>()
|
||||
val centerLine = CenterLine()
|
||||
centerLine.id = buf.int.toString()
|
||||
centerLine.tile_id = buf.int.toString()
|
||||
centerLine.road_id = buf.int.toString()
|
||||
centerLine.lane_id = buf.int.toString()
|
||||
val size = buf.int
|
||||
val points = ArrayList<LonLatPoint>()
|
||||
for (i in 0 until size step 2) {
|
||||
var lonLatPoint = LonLatPoint(buf.getLong()/ 1e8, buf.getLong()/ 1e8)
|
||||
val lonLatPoint = LonLatPoint(buf.long / 1e8, buf.long / 1e8)
|
||||
points.add(lonLatPoint)
|
||||
}
|
||||
centerLine.points = points
|
||||
@@ -802,10 +780,8 @@ class RoadHelper {
|
||||
mapBox.llaGetCenterLineRoadNode(dLon, dLat, fAngle, fDis)
|
||||
}
|
||||
|
||||
|
||||
|
||||
fun getRoadName(dLon: Double, dlat: Double, fAngle: Float,call: IResult<RoadNameInfo>){
|
||||
RoadResultController.instance.addRoadResultListener("llaGetRoadName_${dLon.toTenDecimalsStr()}_${dlat.toTenDecimalsStr()}_${fAngle.toTenDecimalsStr()}",object :IRoadData{
|
||||
fun getRoadName(dLon: Double, dLat: Double, fAngle: Float,call: IResult<RoadNameInfo>){
|
||||
RoadResultController.instance.addRoadResultListener("llaGetRoadName_${dLon.toTenDecimalsStr()}_${dLat.toTenDecimalsStr()}_${fAngle.toTenDecimalsStr()}",object :IRoadData{
|
||||
override fun result(code: Int, result: ByteArray?) {
|
||||
if (CompileConfig.DEBUG) {
|
||||
Log.d(TAG, "roadop--getRoadName--code:${code},result: $result")
|
||||
@@ -815,13 +791,12 @@ class RoadHelper {
|
||||
return
|
||||
}
|
||||
result?.let {
|
||||
var result = it
|
||||
var buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
val buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
|
||||
buf?.let {
|
||||
val roadNameInfo = RoadNameInfo()
|
||||
roadNameInfo.tile_id = it.getInt().toString()
|
||||
roadNameInfo.road_id = it.getInt().toString()
|
||||
roadNameInfo.tile_id = buf.int.toString()
|
||||
roadNameInfo.road_id = buf.int.toString()
|
||||
roadNameInfo.road_name = ByteBufferHelper.buf2Str(buf)?:""
|
||||
if (CompileConfig.DEBUG) {
|
||||
Log.d(TAG, "roadop--getRoadName--roadNameInfo:${roadNameInfo}")
|
||||
@@ -835,7 +810,7 @@ class RoadHelper {
|
||||
}
|
||||
|
||||
})
|
||||
mapBox.llaGetRoadName(dLon,dlat,fAngle)
|
||||
mapBox.llaGetRoadName(dLon,dLat,fAngle)
|
||||
}
|
||||
|
||||
|
||||
@@ -845,8 +820,8 @@ class RoadHelper {
|
||||
* 获取路口信息
|
||||
*/
|
||||
|
||||
fun getCrossRoad(dLon: Double, dlat: Double, fAngle: Float,call: IResult<RoadCross>) {
|
||||
val cacheKey = "llaGetCrossRoad_${dLon.toTenDecimalsStr()}_${dlat.toTenDecimalsStr()}_${fAngle.toTenDecimalsStr()}"
|
||||
fun getCrossRoad(dLon: Double, dLat: Double, fAngle: Float,call: IResult<RoadCross>) {
|
||||
val cacheKey = "llaGetCrossRoad_${dLon.toTenDecimalsStr()}_${dLat.toTenDecimalsStr()}_${fAngle.toTenDecimalsStr()}"
|
||||
|
||||
// Check if the result is already in the cache
|
||||
crossRoadCache.get(cacheKey)?.let {
|
||||
@@ -865,22 +840,21 @@ class RoadHelper {
|
||||
return
|
||||
}
|
||||
result?.let {
|
||||
var result = it
|
||||
var buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
val buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
|
||||
buf?.let {
|
||||
val roadCross = RoadCross()
|
||||
roadCross.status = it.getInt()
|
||||
val tile_id = it.getInt()
|
||||
if(tile_id == 0){
|
||||
roadCross.status = buf.int
|
||||
val tileId = buf.int
|
||||
if(tileId == 0){
|
||||
call.result(1,null)
|
||||
}
|
||||
roadCross.tile_id = "${tile_id}"
|
||||
roadCross.cross_id= it.getLong().toString()
|
||||
roadCross.tile_id = "$tileId"
|
||||
roadCross.cross_id= buf.long.toString()
|
||||
|
||||
if(roadCross.status == 0){
|
||||
roadCross.tile_id_end = it.getInt().toString()
|
||||
roadCross.cross_id_end = it.getLong().toString()
|
||||
roadCross.tile_id_end = buf.int.toString()
|
||||
roadCross.cross_id_end = buf.long.toString()
|
||||
}
|
||||
if (CompileConfig.DEBUG) {
|
||||
Log.d(TAG, "roadop--getCrossRoad--roadCross:${roadCross}")
|
||||
@@ -896,7 +870,7 @@ class RoadHelper {
|
||||
}
|
||||
|
||||
})
|
||||
mapBox.llaGetCrossRoad(dLon, dlat, fAngle)
|
||||
mapBox.llaGetCrossRoad(dLon, dLat, fAngle)
|
||||
}
|
||||
|
||||
|
||||
@@ -911,14 +885,13 @@ class RoadHelper {
|
||||
return
|
||||
}
|
||||
result?.let {
|
||||
var result = it
|
||||
var buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
val buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
|
||||
buf?.let {
|
||||
val list = ArrayList<LonLatPoint>()
|
||||
val size = it.getInt()
|
||||
val size = buf.int
|
||||
for(i in 0 until size step 2){
|
||||
val lonLatPoint = LonLatPoint(it.getLong()/1e8, it.getLong()/1e8)
|
||||
val lonLatPoint = LonLatPoint(buf.long /1e8, buf.long /1e8)
|
||||
list.add(lonLatPoint)
|
||||
}
|
||||
if (CompileConfig.DEBUG) {
|
||||
@@ -955,11 +928,10 @@ class RoadHelper {
|
||||
return
|
||||
}
|
||||
result?.let {
|
||||
var result = it
|
||||
var buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
val buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
|
||||
buf?.let {
|
||||
call.result(code, it.getInt())
|
||||
call.result(code, buf.int)
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -983,11 +955,10 @@ class RoadHelper {
|
||||
return
|
||||
}
|
||||
result?.let {
|
||||
var result = it
|
||||
var buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
val buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
|
||||
buf?.let {
|
||||
call.result(code, it.getInt() == 1)
|
||||
call.result(code, buf.int == 1)
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -1009,11 +980,10 @@ class RoadHelper {
|
||||
return
|
||||
}
|
||||
result?.let {
|
||||
var result = it
|
||||
var buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
val buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
|
||||
buf?.let {
|
||||
call.result(code, it.getLong()/1e8)
|
||||
call.result(code, buf.long /1e8)
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -1037,11 +1007,10 @@ class RoadHelper {
|
||||
return
|
||||
}
|
||||
result?.let {
|
||||
var result = it
|
||||
var buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
val buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
|
||||
buf?.let {
|
||||
val cityCode = it.getInt()
|
||||
val cityCode = buf.int
|
||||
if (CompileConfig.DEBUG) {
|
||||
Log.d(TAG, "roadop--getCityCode-${cityCode}")
|
||||
}
|
||||
@@ -1073,12 +1042,12 @@ class RoadHelper {
|
||||
return
|
||||
}
|
||||
getAllCityCode(object : IResult<ArrayList<CityInfo>> {
|
||||
override fun result(code: Int, cityList: ArrayList<CityInfo>?) {
|
||||
if(cityList == null || cityList.size == 0){
|
||||
override fun result(code: Int, result: ArrayList<CityInfo>?) {
|
||||
if(result == null || result.size == 0){
|
||||
call.result(1,false)
|
||||
return
|
||||
}
|
||||
for(city in cityList){
|
||||
for(city in result){
|
||||
if(id == city.cityCode){
|
||||
call.result(code,city.isCache)
|
||||
return
|
||||
@@ -1099,24 +1068,23 @@ class RoadHelper {
|
||||
|
||||
override fun result(code: Int, result: ByteArray?) {
|
||||
if(CompileConfig.DEBUG){
|
||||
Log.d(TAG, "roadop--getAllCityCode--result: ${result}")
|
||||
Log.d(TAG, "roadop--getAllCityCode--result: $result")
|
||||
}
|
||||
if (result?.isEmpty() == true) {
|
||||
call.result(1, null)
|
||||
return
|
||||
}
|
||||
result?.let {
|
||||
var result = it
|
||||
var buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
val buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
buf?.let {
|
||||
val cityList = ArrayList<CityInfo>()
|
||||
val size = it.getInt()
|
||||
val size = buf.int
|
||||
for(i in 0 until size step 6){
|
||||
val cityInfo = CityInfo()
|
||||
cityInfo.cityCode = it.getInt()
|
||||
cityInfo.cityCode = buf.int
|
||||
cityInfo.chineseCityName = ByteBufferHelper.buf2Str(buf)?:""
|
||||
cityInfo.englishCityName = ByteBufferHelper.buf2Str(buf)?:""
|
||||
cityInfo.isCache = it.getInt() == 1
|
||||
cityInfo.isCache = buf.int == 1
|
||||
cityList.add(cityInfo)
|
||||
}
|
||||
call.result(code,cityList)
|
||||
@@ -1149,10 +1117,9 @@ class RoadHelper {
|
||||
return
|
||||
}
|
||||
result?.let {
|
||||
var result = it
|
||||
var buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
val buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
buf?.let {
|
||||
val version = it.getInt().toString()
|
||||
val version = buf.int.toString()
|
||||
if (CompileConfig.DEBUG) {
|
||||
Log.d(TAG, "roadop--getHdDataVersionByCity-version:${version}")
|
||||
}
|
||||
@@ -1166,8 +1133,8 @@ class RoadHelper {
|
||||
mapBox.getHdDataVersionByCity(lon,lat)
|
||||
}
|
||||
|
||||
fun getZebraLineByDistance(dLon: Double, dlat: Double , fAngle: Float, dis: Float,call: IResult<MutableList<ZebraLine>>){
|
||||
RoadResultController.instance.addRoadResultListener("llaGetZebraLineByDistance_${dLon.toTenDecimalsStr()}_${dlat.toTenDecimalsStr()}_${fAngle.toTenDecimalsStr()}_${dis.toTenDecimalsStr()}",object :IRoadData{
|
||||
fun getZebraLineByDistance(dLon: Double, dLat: Double , fAngle: Float, dis: Float,call: IResult<MutableList<ZebraLine>>){
|
||||
RoadResultController.instance.addRoadResultListener("llaGetZebraLineByDistance_${dLon.toTenDecimalsStr()}_${dLat.toTenDecimalsStr()}_${fAngle.toTenDecimalsStr()}_${dis.toTenDecimalsStr()}",object :IRoadData{
|
||||
override fun result(code: Int, result: ByteArray?) {
|
||||
if (CompileConfig.DEBUG) {
|
||||
Log.d(TAG, "roadop--getZebraLineByDistance--code:${code},result: $result")
|
||||
@@ -1177,20 +1144,19 @@ class RoadHelper {
|
||||
return
|
||||
}
|
||||
result?.let {
|
||||
var result = it
|
||||
var buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
val buf = ByteBufferHelper.bytes2ByteBuffer(result)
|
||||
buf?.let {
|
||||
val list = ArrayList<ZebraLine>()
|
||||
val size = it.getInt()
|
||||
val size = buf.int
|
||||
for(i in 0 until size step 11){
|
||||
val zebraLine = ZebraLine()
|
||||
zebraLine.dis = it.getLong()/1e8.toFloat()
|
||||
zebraLine.tileId = it.getInt().toString()
|
||||
zebraLine.id = it.getInt().toString()
|
||||
val size = it.getInt()
|
||||
zebraLine.dis = buf.long /1e8.toFloat()
|
||||
zebraLine.tileId = buf.int.toString()
|
||||
zebraLine.id = buf.int.toString()
|
||||
val size = buf.int
|
||||
val lonlats = ArrayList<LonLatPoint>()
|
||||
for(i in 0 until size step 2){
|
||||
val lonLatPoint = LonLatPoint(it.getLong()/1e8, it.getLong()/1e8)
|
||||
val lonLatPoint = LonLatPoint(buf.long /1e8, buf.long /1e8)
|
||||
lonlats.add(lonLatPoint)
|
||||
}
|
||||
zebraLine.zebraLineList = lonlats
|
||||
@@ -1210,7 +1176,7 @@ class RoadHelper {
|
||||
}
|
||||
|
||||
})
|
||||
mapBox.llaGetZebraLineByDistance(dLon,dlat,fAngle,dis)
|
||||
mapBox.llaGetZebraLineByDistance(dLon,dLat,fAngle,dis)
|
||||
}
|
||||
|
||||
|
||||
@@ -1279,15 +1245,15 @@ class RoadHelper {
|
||||
return
|
||||
}
|
||||
getInstance()?.getCityCode(lon, lat, object : IResult<Int> {
|
||||
override fun result(code: Int, id: Int?) {
|
||||
if (id == 0) {
|
||||
override fun result(code: Int, result: Int?) {
|
||||
if (result == 0) {
|
||||
return
|
||||
}
|
||||
if (CompileConfig.DEBUG) {
|
||||
Log.i(TAG, "cacheHDDataByCityLonLat--op--id: ${id}")
|
||||
Log.i(TAG, "cacheHDDataByCityLonLat--op--id: $result")
|
||||
}
|
||||
id?.let {
|
||||
cacheHDDataByCity(id, listener)
|
||||
result?.let {
|
||||
cacheHDDataByCity(result, listener)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ object ByteBufferHelper {
|
||||
}
|
||||
|
||||
fun buf2Str(buf: ByteBuffer): String? {
|
||||
val l = buf.getInt()
|
||||
val l = buf.int
|
||||
var ret: String? = null
|
||||
if (l > 0) {
|
||||
val tmp = ByteArray(l)
|
||||
|
||||
Reference in New Issue
Block a user