diff --git a/gradle.properties b/gradle.properties index 72998af9dc..3b45433a4a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -81,8 +81,8 @@ MOGO_LOCATION_VERSION=1.4.7.23 MOGO_TELEMATIC_VERSION=1.4.7.23 ######## MogoAiCloudSDK Version ######## # 自研地图 -MAP_SDK_VERSION=3.4.0.3 -MAP_SDK_DATA_VERSION=1.0.0.7 +MAP_SDK_VERSION=3.4.0.5 +MAP_SDK_DATA_VERSION=1.0.0.9 MAP_SDK_OPERATION_VERSION=1.1.4.1 # websocket WEBSOCKET_VERSION=1.1.7 diff --git a/libraries/mapmodule/src/main/java/com/autonavi/nge/MapBox.kt b/libraries/mapmodule/src/main/java/com/autonavi/nge/MapBox.kt index a857128ba6..446c1f1e1f 100644 --- a/libraries/mapmodule/src/main/java/com/autonavi/nge/MapBox.kt +++ b/libraries/mapmodule/src/main/java/com/autonavi/nge/MapBox.kt @@ -45,6 +45,7 @@ class MapBox { dis: Float, isCancel: Boolean = false ) + external fun llaGetBusStation(trajectorys : DoubleArray,isCancel: Boolean = false) external fun llaGetRoutePath(trajectorys : DoubleArray,isCancel: Boolean = false) external fun updateCacheFile(isCancel: Boolean = false) diff --git a/libraries/mapmodule/src/main/java/com/zhidaoauto/map/sdk/inner/road/RoadHelper.kt b/libraries/mapmodule/src/main/java/com/zhidaoauto/map/sdk/inner/road/RoadHelper.kt index ef3a291b02..7d4bf40d09 100644 --- a/libraries/mapmodule/src/main/java/com/zhidaoauto/map/sdk/inner/road/RoadHelper.kt +++ b/libraries/mapmodule/src/main/java/com/zhidaoauto/map/sdk/inner/road/RoadHelper.kt @@ -12,6 +12,7 @@ import com.zhidaoauto.map.data.road.RoadRect import com.zhidaoauto.map.data.road.RoadRectInfos import com.zhidaoauto.map.data.road.RoadSign import com.zhidaoauto.map.data.road.RoadSignPostion +import com.zhidaoauto.map.data.road.RouteBusStation import com.zhidaoauto.map.data.road.RouteCamera import com.zhidaoauto.map.data.road.RouteLane import com.zhidaoauto.map.data.road.RoutePath @@ -1297,6 +1298,84 @@ class RoadHelper private constructor() { } } + fun getBusStation(routeList : ArrayList , isCanCancel: Boolean,call:IResult):String{ + var key = StringBuffer("llaGetBusStation_") + for(lonlat in routeList){ + key.append("${lonlat.longitude.toTenDecimalsStr()}_${lonlat.latitude.toTenDecimalsStr()}_") + } + key.append("${RoadResultController.CANCELTAG}${isCanCancel}") + RoadResultController.instance.addRoadResultListener(key.toString(),object :IRoadData{ + override fun result(code: Int, result: ByteArray?) { + if (CompileConfig.DEBUG) { + Log.d(TAG, "roadop--getRouteInfo--code:${code},result: $result") + } + if (result?.isEmpty() == true) { + call.result(1, null) + return + } + result?.let { + CommonController.instance.scope?.launch(Dispatchers.IO) { + val buf = ByteBufferHelper.bytes2ByteBuffer(result) + buf?.let { + val routePath = RoutePath() + val list = ArrayList() + val size = buf.int + for(i in 0 until size){ + val routeStep = RouteStep() + routeStep.id = buf.long.toInt() + routeStep.tileId = buf.int + routeStep.type = buf.int + routeStep.name = ByteBufferHelper.buf2Str(buf)?:"" + routeStep.limitSpeed = buf.int + + var busStations = ArrayList() + val busStation_size = buf.int + for(o in 0 until busStation_size){ + val routeBusStation = RouteBusStation() + routeBusStation.id = buf.int + routeBusStation.type = buf.int + routeBusStation.roadId = buf.int + val busStation_pts = buf.int + val busStationPoints = ArrayList() + for(p in 0 until busStation_pts step 2){ + val lonLatPoint = LonLatPoint(buf.long /1e8, buf.long /1e8) + busStationPoints.add(lonLatPoint) + } + routeBusStation.busStationPoints = busStationPoints + busStations.add(routeBusStation) + } + routeStep.busStations = busStations + + list.add(routeStep) + } + + if(list.isNotEmpty()){ + routePath.steps = list + if (CompileConfig.DEBUG) { + Log.d(TAG, "roadop--getRouteInfo--routePath:${routePath}") + } + withContext(Dispatchers.Main){ + call.result(0, routePath) + } + } + } + } + }?:{ + call.result(1,null) + } + } + }) + val data = MapTools.listToArray(routeList,false) + try { + mapBox.llaGetBusStation(data,isCanCancel) + }catch (e: Exception){ + if (CompileConfig.DEBUG) { + Log.e(TAG, e.toString()) + } + } + return key.toString() + } + fun getRouteInfo(routeList : ArrayList , isCanCancel: Boolean,call:IResult):String{ var key = StringBuffer("llaGetRoutePath_") for(lonlat in routeList){ diff --git a/libraries/mapmodule/src/main/java/com/zhidaoauto/map/sdk/open/data/MapDataApi.kt b/libraries/mapmodule/src/main/java/com/zhidaoauto/map/sdk/open/data/MapDataApi.kt index dff2435656..5df58bd67e 100644 --- a/libraries/mapmodule/src/main/java/com/zhidaoauto/map/sdk/open/data/MapDataApi.kt +++ b/libraries/mapmodule/src/main/java/com/zhidaoauto/map/sdk/open/data/MapDataApi.kt @@ -573,6 +573,10 @@ object MapDataApi { return RoadHelper.getInstance()?.isInRoadSideFenceRegion(lon, lat, isCanCancel, call) } + fun getBusStation(routeList: ArrayList, call: IResult, isCanCancel: Boolean = false): String? { + return RoadHelper.getInstance()?.getBusStation(routeList, isCanCancel, call) + } + /** * 获取路线信息 *