Commit fe30889a authored by p x's avatar p x
Browse files

修改目录结构

parent a05e954e
......@@ -18,7 +18,7 @@ class ShowCarOnlineActivity : AppCompatActivity() {
var mapReadView: MapReadyView? = null
//获取接口功能实例
var mapCoreApi = MapCoreApi.mapCoreApi
// var mapCoreApi = MapCoreApi.mapCoreApi
override fun onCreate(savedInstanceState: Bundle?) {
......@@ -50,14 +50,6 @@ class ShowCarOnlineActivity : AppCompatActivity() {
}
//设置定位回调
mapCoreApi.startLoc(object : OnMsGpsLoc {
override fun onMsGpsLoc(mSLocBean: MSLocCb) {
//在这里改变小车的位置
}
})
}
......
......@@ -12,6 +12,8 @@ import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.bean.WayPoi
import com.sd.api.ui.MapReadyView
import com.sd.api.intfaces.OnNaviPresenterListener
import com.sd.api.maps.MSNavi
import com.sd.api.maps.MSRoutePlans
import com.sd.api.ui.MapMultiView.OnMapReadyLis
import com.sd.demo.databinding.ActivityTdriveRouteBinding
......@@ -48,10 +50,9 @@ class TDriveRouteActivity : AppCompatActivity() ,OnNaviPresenterListener{
)
var ways = listOf<WayPoi>(wayPoi)
//获取接口功能实例
var mapCoreApi = MapCoreApi.mapCoreApi
//开始路径规划
mapCoreApi.drivingPathPlanning(
MSRoutePlans.drivingPathPlanning(
startPoint, "当前位置", endPoint, endName, ways, mapReadView,null
)
// MSRoutePlans.drivingPathPlanning(startPoint, endPoint, ways, endName)
......@@ -64,7 +65,7 @@ class TDriveRouteActivity : AppCompatActivity() ,OnNaviPresenterListener{
binding.starnai.setOnClickListener {
if (mapReadView == null) return@setOnClickListener
//获取接口功能实例
var mapCoreApi = MapCoreApi.mapCoreApi
// var mapCoreApi = MapCoreApi.mapCoreApi
// 起点坐标 116.3215,39.8919
val startPoint = MSLatLng(39.806898, 116.490682)
......@@ -78,7 +79,7 @@ class TDriveRouteActivity : AppCompatActivity() ,OnNaviPresenterListener{
)
var ways = listOf<WayPoi>(wayPoi)
mapCoreApi.startNavi(mapReadView, 2/*1=自己实现回调 2=直接调用导航组件*/, startPoint, "当前位置", endPoint, endName, ways,this)
MSNavi.startNavi(mapReadView, 2/*1=自己实现回调 2=直接调用导航组件*/, startPoint, "当前位置", endPoint, endName, ways,this)
}
}
......
......@@ -2,11 +2,11 @@ package com.sd.demo.ui
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.sd.api.maps.MSPoi
import com.sd.api.maps.cdata.PoiSearchRes
import com.sd.api.ui.MapReadyView
import com.sd.api.maps.inters.OnMSPoiSearchLis
import com.sd.api.maps.MSPoi
import com.sd.api.ui.MapMultiView.OnMapReadyLis
import com.sd.api.ui.MapReadyView
import com.sd.demo.adapter.PoiAdapter
import com.sd.demo.databinding.ActivityTpoiSearchBinding
......@@ -21,7 +21,7 @@ class TPoiSearchActivity : AppCompatActivity() {
private var poiAdapter = PoiAdapter()
//获取接口功能实例
var mapCoreApi = MapCoreApi.mapCoreApi
// var mapCoreApi = MapCoreApi.mapCoreApi
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
......
......@@ -12,7 +12,7 @@ plugins {
android {
namespace = "com.msmap.api"
namespace = "com.sd.api"
compileSdk = 35
defaultConfig {
......
package com.sd.api.core
import android.graphics.Rect
import com.amap.api.maps.CameraUpdateFactory
import com.amap.api.maps.model.Poi
import com.amap.api.navi.AMapNavi
import com.amap.api.navi.AmapNaviPage
import com.amap.api.navi.AmapNaviParams
import com.amap.api.navi.AmapNaviType
import com.amap.api.navi.AmapPageType
import com.amap.api.navi.model.AMapCalcRouteResult
import com.amap.api.navi.model.AMapNaviPath
import com.amap.api.navi.view.RouteOverLay
import com.minedata.minenavi.map.Route
import com.minedata.minenavi.map.RouteOptions
import com.minedata.minenavi.mapdal.DataPreference
import com.minedata.minenavi.mapdal.LatLng
import com.minedata.minenavi.mapdal.PoiFavorite
import com.minedata.minenavi.navi.NaviSession
import com.minedata.minenavi.navi.NaviSessionParams
import com.minedata.minenavi.navi.RouteBase
import com.minedata.minenavi.navi.RouteCollection
import com.minedata.minenavi.navi.RoutePlan
import com.minedata.minenavi.navi.RouterErrorInfo
import com.minedata.minenavi.util.Tools
import com.sd.api.MAP_TYPE
import com.sd.api.MSDKInitializer
import com.sd.api.UserCtx
import com.sd.api.bean.DriverRouteBean
import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.bean.WayPoi
import com.sd.api.core.basic.OnDriveRoute
import com.sd.api.intfaces.MyAMapNaviListener
import com.sd.api.intfaces.MyMineNaviListener
import com.sd.api.ui.MapReadyView
import com.sd.api.utils.DisplayUtil
import com.amap.api.maps.model.LatLng as ALatLng
/**路劲规划 弃用**/
@Deprecated(
message = "弃用 直接使用var basicMap = MapFactory.createBasic()\n" +
" basicMap.drivingPathPlanning()"
)
private object MSRoutePlans {
//初始化高德 RouteSearch 对象
// private var mRouteSearch: RouteSearch? = null
//初始化高德 导航 对象
private var mAMapNavi: AMapNavi? = null
// private const val ROUTE_TYPE_DRIVE = 2
//初始化四维导航对象
private var mNaviSession: NaviSession? = null
//驾车算路回调对象
private var driverRouteBean = DriverRouteBean.instance
//驾车路径规划回调接口
private var onDriveRoute: OnDriveRoute? = null
//路径图层返回
// private var routeOver = RouteOver.instance
/**
* 四维保存当前算好的路线
*/
private var mRoute: Route? = null
//高德保存当前算好的路线
private var routeOverlay: RouteOverLay? = null
// private val routeOverlays: SparseArray<RouteOverLay> = SparseArray<RouteOverLay>()
/**
* 添加导航路线规划监听
* @param onDriveRoute 导航路线回调接口
*/
fun addPlanLis(onDriveRoute: OnDriveRoute) {
var context = UserCtx.instance.mContext
this.onDriveRoute = onDriveRoute
// 根据地图类型初始化不同的导航引擎
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
mNaviSession = NaviSession.getInstance()
// 开启语音播报
mNaviSession?.enableSound(true)
var naviSessionParams = NaviSessionParams().apply {
autoReroute = true
autoRemoveRoute = true
// useMineNaviGPS = true
}
mNaviSession!!.init(context, naviSessionParams)
mNaviSession?.setDataPreference(DataPreference.preferOnline)
mNaviSession?.addMineNaviListener(myMineNaviListener)
}
MAP_TYPE.AMAP -> {
mAMapNavi = AMapNavi.getInstance(context)
mAMapNavi!!.addAMapNaviListener(aMapNaviListener)
// mRouteSearch = RouteSearch(context)
// mRouteSearch!!.setRouteSearchListener(onRouteSearchListener)
}
}
}
/**驾车路径规划
* @param starPoint 起点坐标
* @param endPoint 终点坐标
* @param ways 途经点集合
* @param endName 终点名称(高德可不传)
* @param startName 起点名称
*/
fun drivingPathPlanning(
starPoint: MSLatLng,
endPoint: MSLatLng,
ways: List<WayPoi>,
endName: String = "",
startName: String = "当前位置"
) {
var context = UserCtx.instance.mContext
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
val starPoint = Tools.latLngToPoint(LatLng(starPoint.lat, starPoint.lng))
val endPoint = Tools.latLngToPoint(LatLng(endPoint.lat, endPoint.lng))
var startName = startName
var endName = endName
var wayPoints = mutableListOf<PoiFavorite>()
if (ways.count() > 0) {
ways.forEach { wpoi ->
var passPoint =
Tools.latLngToPoint(LatLng(wpoi.passPoint!!.lat, wpoi.passPoint!!.lng))
wayPoints.add(PoiFavorite(passPoint, wpoi.passName))
}
}
val routePlan = RoutePlan()
routePlan.setRoutePreference(RoutePlan.RoutePreference.none)
routePlan.setTransportationType(RoutePlan.TransportationType.car)
mNaviSession?.calculateDriveRoute(
PoiFavorite(starPoint, startName),
wayPoints,
PoiFavorite(endPoint, endName),
routePlan,
NaviSession.RouteMethod.multipleResult
)
}
MAP_TYPE.AMAP -> {
//这是路径规划
/* var startLatlng = NaviLatLng(starPoint.lat, starPoint.lng)
var startList = listOf<NaviLatLng>(startLatlng)
var endLatlng = NaviLatLng(endPoint.lat, endPoint.lng)
var endList = listOf<NaviLatLng>(endLatlng)
//途经点
var wayPoints = mutableListOf<NaviLatLng>()
if (ways.count() > 0) {
ways.forEach { wpoi ->
wayPoints.add(NaviLatLng(wpoi.passPoint!!.lat, wpoi.passPoint!!.lng))
}
}
mAMapNavi?.calculateDriveRoute(
startList,
endList,
wayPoints,
PathPlanningStrategy.DRIVING_MULTIPLE_ROUTES_DEFAULT
)*/
//这是导航,直接到高德内置组件
//途经点
var poiList = mutableListOf<Poi>()
if (ways.count() > 0) {
ways.forEach { wpoi ->
poiList.add(
Poi(
"鸟巢",
ALatLng(wpoi.passPoint!!.lat, wpoi.passPoint!!.lng),
""
)
)
}
}
val params = AmapNaviParams(
Poi(startName, ALatLng(starPoint.lat, starPoint.lng), ""),
poiList,
Poi(endName, ALatLng(endPoint.lat, endPoint.lng), ""),
AmapNaviType.DRIVER, AmapPageType.ROUTE
)
params.setUseInnerVoice(true)
AmapNaviPage.getInstance()
.showRouteActivity(context, params, null)
}
}
}
/**自定义驾车路线返回*/
/* interface OnDriveRoute {
fun onDriverRoute(driverRouteBean: DriverRouteBean)
}*/
/**
* 绘制规划的路线路径。
* @param mapReadView 地图视图容器,用于获取当前地图实例。
* @param driverRB 包含路线信息的数据对象。
*/
fun drawPlanPath(
mapReadView: MapReadyView?,
driverRB: DriverRouteBean
) {
var context = UserCtx.instance.mContext
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
// 移除旧的路线覆盖物
if (mRoute != null) {
mapReadView?.mMineMap?.removeOverlay(mRoute)
mRoute = null
}
// 获取第一条路线数据并设置路线绘制选项
var routeBase = driverRB.routeBase
val options = RouteOptions()
.routeBase(routeBase)
.colorType(Route.RouteColorType.enrouteTi)
.styleClass("DEFAULT")
// 添加新的路线到地图上,并设置样式和视角适配
mRoute = mapReadView?.mMineMap?.addRoute(options)
setRouteOverlayStyle(mRoute, false)
navEndFitWorldAreaToRect(mapReadView, routeBase)
}
MAP_TYPE.AMAP -> {
// 清除之前的路线覆盖物
if (routeOverlay != null) {
routeOverlay?.removeFromMap()
routeOverlay = null
}
// 从导航结果中获取路径信息并在高德地图上绘制
val routeIds = driverRB.aMapCalcRouteResult!!.getRouteid()
val paths: HashMap<Int, AMapNaviPath> = mAMapNavi!!.getNaviPaths()
val path: AMapNaviPath? = paths.get(routeIds[0])
if (path != null) {
mapReadView?.aMap?.moveCamera(CameraUpdateFactory.changeTilt(0f))
routeOverlay = RouteOverLay(mapReadView?.aMap, path, context)
routeOverlay?.setTrafficLine(false)
routeOverlay?.addToMap()
}
}
}
}
// private fun drawRoutes(
// routeId: Int,
// path: AMapNaviPath,
// mapReadView: MapReadyView?,
// context: Context
// ) {
// mapReadView?.aMap?.moveCamera(CameraUpdateFactory.changeTilt(0f))
// routeOverLay = RouteOverLay(mapReadView?.aMap, path, context)
// routeOverLay.setTrafficLine(false)
// routeOverLay.addToMap()
//// routeOverlays.put(routeId, routeOverLay)
// }
private fun setRouteOverlayStyle(route: Route?, isSmallMapRoute: Boolean = false) {
var routeStyle = "DEFAULT"
if (isSmallMapRoute) {
routeStyle += ",small-map"
}
route?.selectStyleClass(routeStyle)
}
/***将指定的地图上的矩形区域显示到指定的屏幕矩形区域中
* @param driverRB 驾车路径规划返回
* ****/
fun navEndFitWorldAreaToRect(mapReadView: MapReadyView?, mRouteBase: RouteBase?) {
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
if (mRouteBase == null)
return
val rect = Rect(
200, 350, DisplayUtil.getScreenWidthPx() - 200,
DisplayUtil.getScreenHeightPx() - 200
)
// 获取单条道路信息
// var mRouteBase = driverRB.routeCollection?.routes?.get(0)
val boundingBox = mRouteBase.getBoundingBox()
mapReadView?.mMineMap?.fitWorldAreaToRect(boundingBox, rect)
// mapReadView?.mMineMap?.setElevation(0f)
}
MAP_TYPE.AMAP -> {
}
}
}
//-------------- 四维 导航监听 --------------------------
private var myMineNaviListener = object : MyMineNaviListener() {
private fun getRouteMsg(data: RouterErrorInfo): String {
var msg = ""
when (data.errCode) {
RouterErrorInfo.Type.ComputeFailed -> msg = "路线计算失败"
RouterErrorInfo.Type.destAuthError -> msg = "终点所在位置数据授权错误"
RouterErrorInfo.Type.destNoData -> msg = "重点所在位置没有数据"
RouterErrorInfo.Type.MissingSubfiles -> msg = "缺少途径省份数据"
RouterErrorInfo.Type.NetworkError -> msg = "网络连接错误"
RouterErrorInfo.Type.None -> {}
RouterErrorInfo.Type.NotEnoughMemory -> msg = "没有足够的内存可以使用"
RouterErrorInfo.Type.oriAuthError -> msg = "起点所在位置数据授权错误"
RouterErrorInfo.Type.OriDestTooNear -> msg = "起点和终点距离太近"
RouterErrorInfo.Type.oriNoData -> msg = "起点所在位置没有数据"
RouterErrorInfo.Type.SetDestFailed -> msg = "设置终点失败"
RouterErrorInfo.Type.SetOriFailed -> msg = "设置起点失败"
RouterErrorInfo.Type.waypointAuthError -> msg = "途经点所在位置数据授权错误"
RouterErrorInfo.Type.waypointNoData -> msg = "途经点所在位置没有数据"
}
return msg
}
override fun onCalculateRouteSuccess(data: RouteCollection) {
// 路线规划成功
driverRouteBean.routeBase = data.routes.get(0)
onDriveRoute?.onDriverRoute(driverRouteBean)
}
override fun onCalculateRouteFailed(data: RouterErrorInfo) {
// 路线规划失败
val msg = getRouteMsg(data)
var a = 0
}
}
//-------------- 高德 导航监听 --------------------------
private var aMapNaviListener = object : MyAMapNaviListener() {
override fun onCalculateRouteSuccess(aMapCalcRouteResult: AMapCalcRouteResult?) {
// 路线规划成功
driverRouteBean.aMapCalcRouteResult = aMapCalcRouteResult
onDriveRoute?.onDriverRoute(driverRouteBean)
}
override fun onCalculateRouteFailure(result: AMapCalcRouteResult?) {
}
}
}
\ No newline at end of file
......@@ -6,7 +6,7 @@ import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import com.amap.api.maps.AMap
import com.msmap.api.databinding.FragmentAMapBinding
import com.sd.api.databinding.FragmentAMapBinding
import com.sd.api.ui.MapReadyView
import com.sd.api.ui.MapMultiView.OnMapReadyLis
......
......@@ -6,7 +6,7 @@ import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import com.minedata.minenavi.map.MineMap
import com.msmap.api.databinding.FragmentForeMapBinding
import com.sd.api.databinding.FragmentForeMapBinding
import com.sd.api.ui.MapReadyView
import com.sd.api.ui.MapMultiView.OnMapReadyLis
......
package com.sd.api.maps
import com.sd.api.MAP_TYPE
import com.sd.api.MSDKInitializer
import com.sd.api.bean.WayPoi
import com.sd.api.intfaces.OnNaviPresenterListener
import com.sd.api.maps.amap.AmapNai
import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.maps.mine.MineNai
import com.sd.api.ui.MapReadyView
/**
* 导航
*
* @constructor Create empty M s navi
*/
object MSNavi {
/**
* 开始导航
* @param nType 1=自己实现回调 2=直接调用导航组件
* @param starPoint
* @param startName
* @param endPoint
* @param endName
* @param ways
*/
fun startNavi(
mapReadView: MapReadyView?,
nType: Int,
starPoint: MSLatLng,
startName: String,
endPoint: MSLatLng,
endName: String,
ways: List<WayPoi>,
onNaviPresenterListener: OnNaviPresenterListener?
) {
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
if (nType == 1) {
MineNai.startNavi(mapReadView, onNaviPresenterListener)
} else if (nType == 2) {
MineNai.startNaviDirect(starPoint, startName, endPoint, endName, ways)
}
}
MAP_TYPE.AMAP -> {
if (nType == 1) {
AmapNai.startPlanNavi(starPoint, startName, endPoint, endName, ways)
} else if (nType == 2) {
AmapNai.startNavi(starPoint, startName, endPoint, endName, ways)
}
}
}
}
}
\ No newline at end of file
package com.sd.api.maps
import com.sd.api.MAP_TYPE
import com.sd.api.MSDKInitializer
import com.sd.api.bean.WayPoi
import com.sd.api.maps.amap.AmapRoutePlans
import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.maps.inters.OnDriveRoute
import com.sd.api.maps.mine.MineRoutePlans
import com.sd.api.ui.MapReadyView
/**路劲规划 **/
object MSRoutePlans {
/**驾车路径规划
* @param starPoint 起点坐标
* @param startName 起点名称
* @param endPoint 终点坐标
* @param endName 终点名称(高德可不传)
* @param ways 途经点集合
* @param mapReadView 地图对象
* @param onDriveRoute 路径规划结果回调
*/
fun drivingPathPlanning(
starPoint: MSLatLng,
startName: String = "当前位置",
endPoint: MSLatLng,
endName: String = "",
ways: List<WayPoi>,
mapReadView: MapReadyView?,
onDriveRoute: OnDriveRoute?
) {
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
MineRoutePlans.drivingPathPlanning(
starPoint,
startName,
endPoint,
endName,
ways,
mapReadView,
onDriveRoute
)
}
MAP_TYPE.AMAP -> {
AmapRoutePlans.instance.drivingPathPlanning(
starPoint,
startName,
endPoint,
endName,
ways,
mapReadView,
onDriveRoute
)
}
}
}
}
\ No newline at end of file
......@@ -8,7 +8,7 @@ import com.amap.api.maps.model.LatLng
import com.amap.api.maps.model.MarkerOptions
import com.amap.api.maps.model.PolygonOptions
import com.amap.api.maps.model.PolylineOptions
import com.msmap.api.R
import com.sd.api.R
import com.sd.api.UserCtx
import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.ui.MapReadyView
......
package com.sd.api.core.basic.amap
package com.sd.api.maps.amap
import com.amap.api.maps.model.LatLng
import com.amap.api.maps.model.Poi
import com.amap.api.navi.AmapNaviPage
import com.amap.api.navi.AmapNaviParams
import com.amap.api.navi.AmapNaviType
import com.amap.api.navi.AmapPageType
import com.sd.api.UserCtx
import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.bean.WayPoi
import com.amap.api.maps.model.LatLng as ALatLng
import com.sd.api.maps.cdata.MSLatLng
/**
* 高德导航
......@@ -32,7 +31,7 @@ object AmapNai {
endName: String,
ways: List<WayPoi>
) {
var context = UserCtx.instance.mContext
var context = UserCtx.Companion.instance.mContext
//途经点
var poiList = mutableListOf<Poi>()
if (ways.count() > 0) {
......@@ -40,16 +39,16 @@ object AmapNai {
poiList.add(
Poi(
wpoi.passName,
ALatLng(wpoi.passPoint!!.lat, wpoi.passPoint!!.lng),
LatLng(wpoi.passPoint!!.lat, wpoi.passPoint!!.lng),
""
)
)
}
}
val params = AmapNaviParams(
Poi(startName, ALatLng(starPoint.lat, starPoint.lng), ""),
Poi(startName, LatLng(starPoint.lat, starPoint.lng), ""),
poiList,
Poi(endName, ALatLng(endPoint.lat, endPoint.lng), ""),
Poi(endName, LatLng(endPoint.lat, endPoint.lng), ""),
AmapNaviType.DRIVER, AmapPageType.NAVI
)
params.setUseInnerVoice(true)
......@@ -74,7 +73,7 @@ object AmapNai {
endName: String,
ways: List<WayPoi>
) {
var context = UserCtx.instance.mContext
var context = UserCtx.Companion.instance.mContext
//途经点
var poiList = mutableListOf<Poi>()
if (ways.count() > 0) {
......@@ -82,16 +81,16 @@ object AmapNai {
poiList.add(
Poi(
wpoi.passName,
ALatLng(wpoi.passPoint!!.lat, wpoi.passPoint!!.lng),
LatLng(wpoi.passPoint!!.lat, wpoi.passPoint!!.lng),
""
)
)
}
}
val params = AmapNaviParams(
Poi(startName, ALatLng(starPoint.lat, starPoint.lng), ""),
Poi(startName, LatLng(starPoint.lat, starPoint.lng), ""),
poiList,
Poi(endName, ALatLng(endPoint.lat, endPoint.lng), ""),
Poi(endName, LatLng(endPoint.lat, endPoint.lng), ""),
AmapNaviType.DRIVER, AmapPageType.ROUTE
)
params.setUseInnerVoice(true)
......
package com.sd.api.core.basic.amap
package com.sd.api.maps.amap
import com.amap.api.maps.CameraUpdateFactory
import com.amap.api.maps.model.LatLng
import com.amap.api.maps.model.Poi
import com.amap.api.navi.AMapNavi
import com.amap.api.navi.model.AMapCalcRouteResult
......@@ -9,13 +10,11 @@ import com.amap.api.navi.model.NaviLatLng
import com.amap.api.navi.view.RouteOverLay
import com.sd.api.UserCtx
import com.sd.api.bean.DriverRouteBean
import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.bean.WayPoi
import com.sd.api.ui.MapReadyView
import com.sd.api.core.basic.OnDriveRoute
import com.sd.api.intfaces.MyAMapNaviListener
import com.amap.api.maps.model.LatLng as ALatLng
import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.maps.inters.OnDriveRoute
import com.sd.api.ui.MapReadyView
/**路劲规划**/
class AmapRoutePlans {
......@@ -25,7 +24,7 @@ class AmapRoutePlans {
}
//驾车算路回调对象
private var driverRouteBean = DriverRouteBean.instance
private var driverRouteBean = DriverRouteBean.Companion.instance
//驾车路径规划回调接口
private var onDriveRoute: OnDriveRoute? = null
......@@ -59,7 +58,7 @@ class AmapRoutePlans {
this.onDriveRoute = onDriveRoute
this.mapReadView = mapReadView
var context = UserCtx.instance.mContext
var context = UserCtx.Companion.instance.mContext
mAMapNavi = AMapNavi.getInstance(context)
mAMapNavi!!.addAMapNaviListener(aMapNaviListener)
......@@ -71,7 +70,7 @@ class AmapRoutePlans {
poiList.add(
Poi(
wpoi.passName,
ALatLng(wpoi.passPoint!!.lat, wpoi.passPoint!!.lng),
LatLng(wpoi.passPoint!!.lat, wpoi.passPoint!!.lng),
""
)
)
......@@ -113,7 +112,7 @@ class AmapRoutePlans {
) {
if (aMapCalcRouteResult == null)
return
var context = UserCtx.instance.mContext
var context = UserCtx.Companion.instance.mContext
// 清除之前的路线覆盖物
if (routeOverlay != null) {
routeOverlay?.removeFromMap()
......
package com.sd.api.core.basic
package com.sd.api.maps.inters
import com.sd.api.bean.DriverRouteBean
......
......@@ -7,7 +7,7 @@ import com.minedata.minenavi.map.MarkerOptions
import com.minedata.minenavi.map.PolygonOptions
import com.minedata.minenavi.map.PolylineOptions
import com.minedata.minenavi.mapdal.LatLng
import com.msmap.api.R
import com.sd.api.R
import com.sd.api.UserCtx
import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.maps.cdata.MSMarker
......
package com.sd.api.core.basic.mine
package com.sd.api.maps.mine
import android.content.Intent
import android.graphics.Point
......@@ -19,11 +19,12 @@ import com.minedata.minenavi.navi.SmoothNaviData
import com.minedata.minenavi.navi.TmcSections
import com.minedata.minenavi.util.Tools
import com.sd.api.UserCtx
import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.bean.WayPoi
import com.sd.api.ui.MapReadyView
import com.sd.api.maps.mine.MineNaiParams
import com.sd.api.intfaces.MyMineNaviListener
import com.sd.api.intfaces.OnNaviPresenterListener
import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.ui.MapReadyView
import com.sd.api.ui.MineNaiDirActivity
/**
......@@ -49,7 +50,7 @@ object MineNai {
autoRemoveRoute = true
// useMineNaviGPS = true
}
var context = UserCtx.instance.mContext
var context = UserCtx.Companion.instance.mContext
mNaviSession!!.init(context, naviSessionParams)
mNaviSession?.setDataPreference(DataPreference.preferOnline)
......@@ -58,7 +59,7 @@ object MineNai {
/**
* 开启四维导航 客户端自实现数据回调
*/
fun startNavi(mapReadView: MapReadyView?,onNaviPresenterListener:OnNaviPresenterListener?) {
fun startNavi(mapReadView: MapReadyView?, onNaviPresenterListener: OnNaviPresenterListener?) {
mNaviSession?.addMineNaviListener(myMineNaviListener)
var mRouteBas = MineRoutePlans.mRouteBase
if (mRouteBas != null) {
......@@ -79,7 +80,7 @@ object MineNai {
ways: List<WayPoi>
) {
var params = MineNaiParams(starPoint, startName, endPoint, endName, ways)
var context = UserCtx.instance.mContext
var context = UserCtx.Companion.instance.mContext
var inten = Intent(context, MineNaiDirActivity::class.java)
inten.putExtra("mineNaiParams", params)
......@@ -92,7 +93,7 @@ object MineNai {
/**
* 直接使用RouteBase开启导航
*/
fun startNaviFormRouteBase(routeBase: RouteBase?, mStartPoint: MSLatLng,mapReadView: MapReadyView?) {
fun startNaviFormRouteBase(routeBase: RouteBase?, mStartPoint: MSLatLng, mapReadView: MapReadyView?) {
// mMineMap = mapReadView?.mMineMap
if (routeBase == null)
return
......
package com.sd.api.core.basic.mine
package com.sd.api.maps.mine
import android.os.Parcelable
import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.bean.WayPoi
import com.sd.api.maps.cdata.MSLatLng
import kotlinx.parcelize.Parcelize
/**
* 导航参数跳转
*/
......@@ -16,4 +15,4 @@ data class MineNaiParams(
val endPoint: MSLatLng,
val endName: String,
val ways: List<WayPoi>
) : Parcelable
) : Parcelable
\ No newline at end of file
package com.sd.api.core.basic.mine
package com.sd.api.maps.mine
import android.graphics.Point
import android.graphics.Rect
......@@ -14,14 +14,13 @@ import com.minedata.minenavi.navi.RoutePlan
import com.minedata.minenavi.navi.RouterErrorInfo
import com.minedata.minenavi.util.Tools
import com.sd.api.bean.DriverRouteBean
import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.bean.WayPoi
import com.sd.api.ui.MapReadyView
import com.sd.api.core.basic.OnDriveRoute
import com.sd.api.intfaces.MyMineNaviListener
import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.maps.inters.OnDriveRoute
import com.sd.api.ui.MapReadyView
import com.sd.api.utils.DisplayUtil
/**四维路劲规划*/
object MineRoutePlans {
......@@ -29,7 +28,7 @@ object MineRoutePlans {
private var mNaviSession: NaviSession? = null
//驾车算路回调对象
private var driverRouteBean = DriverRouteBean.instance
private var driverRouteBean = DriverRouteBean.Companion.instance
//驾车路径规划回调接口
private var onDriveRoute: OnDriveRoute? = null
......
......@@ -6,8 +6,8 @@ import android.view.LayoutInflater
import android.widget.LinearLayout
import androidx.core.content.withStyledAttributes
import androidx.fragment.app.FragmentActivity
import com.msmap.api.R
import com.msmap.api.databinding.MultiViewBinding
import com.sd.api.R
import com.sd.api.databinding.MultiViewBinding
import com.sd.api.MAP_TYPE
import com.sd.api.MSDKInitializer
import com.sd.api.ui.MapReadyView
......
......@@ -18,16 +18,17 @@ import com.minedata.minenavi.navi.TmcSections
import com.minedata.minenavi.navi.TurnIconModel
import com.minedata.minenavi.util.MineNaviUtil
import com.minedata.minenavi.util.Tools
import com.msmap.api.R
import com.msmap.api.databinding.ActivityMineNaiDirBinding
import com.sd.api.R
import com.sd.api.databinding.ActivityMineNaiDirBinding
import com.sd.api.bean.DriverRouteBean
import com.sd.api.ui.MapReadyView
import com.sd.api.core.basic.OnDriveRoute
import com.sd.api.core.basic.mine.MineNai
import com.sd.api.core.basic.mine.MineNaiParams
import com.sd.api.core.basic.mine.MineRoutePlans
import com.sd.api.maps.inters.OnDriveRoute
import com.sd.api.maps.mine.MineNai
import com.sd.api.maps.mine.MineNaiParams
import com.sd.api.maps.mine.MineRoutePlans
import com.sd.api.intfaces.OnComCan
import com.sd.api.intfaces.OnNaviPresenterListener
import com.sd.api.maps.MSRoutePlans
import com.sd.api.ui.MapMultiView.OnMapReadyLis
import com.sd.api.ui.dialog.ExitNaiDialog
import com.sd.api.utils.Utils
......@@ -44,7 +45,7 @@ class MineNaiDirActivity : AppCompatActivity(), OnNaviPresenterListener {
private var mineNaiParams: MineNaiParams? = null
//获取接口功能实例
private var mapCoreApi = MapCoreApi.mapCoreApi
// private var mapCoreApi = MapCoreApi.mapCoreApi
//四维导航地图工具
private lateinit var mUtils: Utils
......@@ -71,7 +72,7 @@ class MineNaiDirActivity : AppCompatActivity(), OnNaviPresenterListener {
override fun onMapReady(mapReadyView: MapReadyView) {
this@MineNaiDirActivity.mapReadView = mapReadyView
//切换为2D平面图
mapReadyView.mMineMap?.elevation=0f
// mapReadyView.mMineMap?.elevation=0f
//算路成功以后启动导航
startPlan()
}
......@@ -89,7 +90,7 @@ class MineNaiDirActivity : AppCompatActivity(), OnNaviPresenterListener {
var ways = mineNaiParams!!.ways
//开始路径规划
mapCoreApi.drivingPathPlanning(
MSRoutePlans.drivingPathPlanning(
startPoint, startName, endPoint, endName, ways, mapReadView, object : OnDriveRoute {
override fun onDriverRoute(driverRouteBean: DriverRouteBean) {
var routeBase = driverRouteBean.routeBase
......
......@@ -10,7 +10,7 @@ import android.graphics.RectF
import android.util.AttributeSet
import android.widget.LinearLayout
import com.minedata.minenavi.navi.TmcSections
import com.msmap.api.R
import com.sd.api.R
/***横向的汽车**/
class HorCarTmc : LinearLayout {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment