Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
p x
MapMultiEngine
Commits
fe30889a
Commit
fe30889a
authored
Sep 18, 2025
by
p x
Browse files
修改目录结构
parent
a05e954e
Changes
30
Hide whitespace changes
Inline
Side-by-side
app/src/main/java/com/sd/demo/ui/ShowCarOnlineActivity.kt
View file @
fe30889a
...
@@ -18,7 +18,7 @@ class ShowCarOnlineActivity : AppCompatActivity() {
...
@@ -18,7 +18,7 @@ class ShowCarOnlineActivity : AppCompatActivity() {
var
mapReadView
:
MapReadyView
?
=
null
var
mapReadView
:
MapReadyView
?
=
null
//获取接口功能实例
//获取接口功能实例
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
//
var mapCoreApi = MapCoreApi.mapCoreApi
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
...
@@ -50,14 +50,6 @@ class ShowCarOnlineActivity : AppCompatActivity() {
...
@@ -50,14 +50,6 @@ class ShowCarOnlineActivity : AppCompatActivity() {
}
}
//设置定位回调
mapCoreApi
.
startLoc
(
object
:
OnMsGpsLoc
{
override
fun
onMsGpsLoc
(
mSLocBean
:
MSLocCb
)
{
//在这里改变小车的位置
}
})
}
}
...
...
app/src/main/java/com/sd/demo/ui/TDriveRouteActivity.kt
View file @
fe30889a
...
@@ -12,6 +12,8 @@ import com.sd.api.maps.cdata.MSLatLng
...
@@ -12,6 +12,8 @@ import com.sd.api.maps.cdata.MSLatLng
import
com.sd.api.bean.WayPoi
import
com.sd.api.bean.WayPoi
import
com.sd.api.ui.MapReadyView
import
com.sd.api.ui.MapReadyView
import
com.sd.api.intfaces.OnNaviPresenterListener
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.api.ui.MapMultiView.OnMapReadyLis
import
com.sd.demo.databinding.ActivityTdriveRouteBinding
import
com.sd.demo.databinding.ActivityTdriveRouteBinding
...
@@ -48,10 +50,9 @@ class TDriveRouteActivity : AppCompatActivity() ,OnNaviPresenterListener{
...
@@ -48,10 +50,9 @@ class TDriveRouteActivity : AppCompatActivity() ,OnNaviPresenterListener{
)
)
var
ways
=
listOf
<
WayPoi
>(
wayPoi
)
var
ways
=
listOf
<
WayPoi
>(
wayPoi
)
//获取接口功能实例
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
//开始路径规划
//开始路径规划
mapCoreApi
.
drivingPathPlanning
(
MSRoutePlans
.
drivingPathPlanning
(
startPoint
,
"当前位置"
,
endPoint
,
endName
,
ways
,
mapReadView
,
null
startPoint
,
"当前位置"
,
endPoint
,
endName
,
ways
,
mapReadView
,
null
)
)
// MSRoutePlans.drivingPathPlanning(startPoint, endPoint, ways, endName)
// MSRoutePlans.drivingPathPlanning(startPoint, endPoint, ways, endName)
...
@@ -64,7 +65,7 @@ class TDriveRouteActivity : AppCompatActivity() ,OnNaviPresenterListener{
...
@@ -64,7 +65,7 @@ class TDriveRouteActivity : AppCompatActivity() ,OnNaviPresenterListener{
binding
.
starnai
.
setOnClickListener
{
binding
.
starnai
.
setOnClickListener
{
if
(
mapReadView
==
null
)
return
@setOnClickListener
if
(
mapReadView
==
null
)
return
@setOnClickListener
//获取接口功能实例
//获取接口功能实例
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
//
var mapCoreApi = MapCoreApi.mapCoreApi
// 起点坐标 116.3215,39.8919
// 起点坐标 116.3215,39.8919
val
startPoint
=
MSLatLng
(
39.806898
,
116.490682
)
val
startPoint
=
MSLatLng
(
39.806898
,
116.490682
)
...
@@ -78,7 +79,7 @@ class TDriveRouteActivity : AppCompatActivity() ,OnNaviPresenterListener{
...
@@ -78,7 +79,7 @@ class TDriveRouteActivity : AppCompatActivity() ,OnNaviPresenterListener{
)
)
var
ways
=
listOf
<
WayPoi
>(
wayPoi
)
var
ways
=
listOf
<
WayPoi
>(
wayPoi
)
mapCoreAp
i
.
startNavi
(
mapReadView
,
2
/*1=自己实现回调 2=直接调用导航组件*/
,
startPoint
,
"当前位置"
,
endPoint
,
endName
,
ways
,
this
)
MSNav
i
.
startNavi
(
mapReadView
,
2
/*1=自己实现回调 2=直接调用导航组件*/
,
startPoint
,
"当前位置"
,
endPoint
,
endName
,
ways
,
this
)
}
}
}
}
...
...
app/src/main/java/com/sd/demo/ui/TPoiSearchActivity.kt
View file @
fe30889a
...
@@ -2,11 +2,11 @@ package com.sd.demo.ui
...
@@ -2,11 +2,11 @@ package com.sd.demo.ui
import
android.os.Bundle
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
androidx.appcompat.app.AppCompatActivity
import
com.sd.api.maps.MSPoi
import
com.sd.api.maps.cdata.PoiSearchRes
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.inters.OnMSPoiSearchLis
import
com.sd.api.maps.MSPoi
import
com.sd.api.ui.MapMultiView.OnMapReadyLis
import
com.sd.api.ui.MapMultiView.OnMapReadyLis
import
com.sd.api.ui.MapReadyView
import
com.sd.demo.adapter.PoiAdapter
import
com.sd.demo.adapter.PoiAdapter
import
com.sd.demo.databinding.ActivityTpoiSearchBinding
import
com.sd.demo.databinding.ActivityTpoiSearchBinding
...
@@ -21,7 +21,7 @@ class TPoiSearchActivity : AppCompatActivity() {
...
@@ -21,7 +21,7 @@ class TPoiSearchActivity : AppCompatActivity() {
private
var
poiAdapter
=
PoiAdapter
()
private
var
poiAdapter
=
PoiAdapter
()
//获取接口功能实例
//获取接口功能实例
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
//
var mapCoreApi = MapCoreApi.mapCoreApi
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
super
.
onCreate
(
savedInstanceState
)
...
...
mapapi/build.gradle.kts
View file @
fe30889a
...
@@ -12,7 +12,7 @@ plugins {
...
@@ -12,7 +12,7 @@ plugins {
android
{
android
{
namespace
=
"com.
msmap
.api"
namespace
=
"com.
sd
.api"
compileSdk
=
35
compileSdk
=
35
defaultConfig
{
defaultConfig
{
...
...
mapapi/src/main/java/com/sd/api/core/MSRoutePlans.kt
deleted
100644 → 0
View file @
a05e954e
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
mapapi/src/main/java/com/sd/api/fragments/AMapFragment.kt
View file @
fe30889a
...
@@ -6,7 +6,7 @@ import android.view.View
...
@@ -6,7 +6,7 @@ import android.view.View
import
android.view.ViewGroup
import
android.view.ViewGroup
import
androidx.fragment.app.Fragment
import
androidx.fragment.app.Fragment
import
com.amap.api.maps.AMap
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.MapReadyView
import
com.sd.api.ui.MapMultiView.OnMapReadyLis
import
com.sd.api.ui.MapMultiView.OnMapReadyLis
...
...
mapapi/src/main/java/com/sd/api/fragments/ForeMapFragment.kt
View file @
fe30889a
...
@@ -6,7 +6,7 @@ import android.view.View
...
@@ -6,7 +6,7 @@ import android.view.View
import
android.view.ViewGroup
import
android.view.ViewGroup
import
androidx.fragment.app.Fragment
import
androidx.fragment.app.Fragment
import
com.minedata.minenavi.map.MineMap
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.MapReadyView
import
com.sd.api.ui.MapMultiView.OnMapReadyLis
import
com.sd.api.ui.MapMultiView.OnMapReadyLis
...
...
mapapi/src/main/java/com/sd/api/maps/MSNavi.kt
0 → 100644
View file @
fe30889a
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
mapapi/src/main/java/com/sd/api/maps/MSRoutePlans.kt
0 → 100644
View file @
fe30889a
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
mapapi/src/main/java/com/sd/api/maps/amap/AmapDrawInMap.kt
View file @
fe30889a
...
@@ -8,7 +8,7 @@ import com.amap.api.maps.model.LatLng
...
@@ -8,7 +8,7 @@ import com.amap.api.maps.model.LatLng
import
com.amap.api.maps.model.MarkerOptions
import
com.amap.api.maps.model.MarkerOptions
import
com.amap.api.maps.model.PolygonOptions
import
com.amap.api.maps.model.PolygonOptions
import
com.amap.api.maps.model.PolylineOptions
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.UserCtx
import
com.sd.api.maps.cdata.MSLatLng
import
com.sd.api.maps.cdata.MSLatLng
import
com.sd.api.ui.MapReadyView
import
com.sd.api.ui.MapReadyView
...
...
mapapi/src/main/java/com/sd/api/
core/basic
/amap/AmapNai.kt
→
mapapi/src/main/java/com/sd/api/
maps
/amap/AmapNai.kt
View file @
fe30889a
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.maps.model.Poi
import
com.amap.api.navi.AmapNaviPage
import
com.amap.api.navi.AmapNaviPage
import
com.amap.api.navi.AmapNaviParams
import
com.amap.api.navi.AmapNaviParams
import
com.amap.api.navi.AmapNaviType
import
com.amap.api.navi.AmapNaviType
import
com.amap.api.navi.AmapPageType
import
com.amap.api.navi.AmapPageType
import
com.sd.api.UserCtx
import
com.sd.api.UserCtx
import
com.sd.api.maps.cdata.MSLatLng
import
com.sd.api.bean.WayPoi
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 {
...
@@ -32,7 +31,7 @@ object AmapNai {
endName
:
String
,
endName
:
String
,
ways
:
List
<
WayPoi
>
ways
:
List
<
WayPoi
>
)
{
)
{
var
context
=
UserCtx
.
instance
.
mContext
var
context
=
UserCtx
.
Companion
.
instance
.
mContext
//途经点
//途经点
var
poiList
=
mutableListOf
<
Poi
>()
var
poiList
=
mutableListOf
<
Poi
>()
if
(
ways
.
count
()
>
0
)
{
if
(
ways
.
count
()
>
0
)
{
...
@@ -40,16 +39,16 @@ object AmapNai {
...
@@ -40,16 +39,16 @@ object AmapNai {
poiList
.
add
(
poiList
.
add
(
Poi
(
Poi
(
wpoi
.
passName
,
wpoi
.
passName
,
A
LatLng
(
wpoi
.
passPoint
!!
.
lat
,
wpoi
.
passPoint
!!
.
lng
),
LatLng
(
wpoi
.
passPoint
!!
.
lat
,
wpoi
.
passPoint
!!
.
lng
),
""
""
)
)
)
)
}
}
}
}
val
params
=
AmapNaviParams
(
val
params
=
AmapNaviParams
(
Poi
(
startName
,
A
LatLng
(
starPoint
.
lat
,
starPoint
.
lng
),
""
),
Poi
(
startName
,
LatLng
(
starPoint
.
lat
,
starPoint
.
lng
),
""
),
poiList
,
poiList
,
Poi
(
endName
,
A
LatLng
(
endPoint
.
lat
,
endPoint
.
lng
),
""
),
Poi
(
endName
,
LatLng
(
endPoint
.
lat
,
endPoint
.
lng
),
""
),
AmapNaviType
.
DRIVER
,
AmapPageType
.
NAVI
AmapNaviType
.
DRIVER
,
AmapPageType
.
NAVI
)
)
params
.
setUseInnerVoice
(
true
)
params
.
setUseInnerVoice
(
true
)
...
@@ -74,7 +73,7 @@ object AmapNai {
...
@@ -74,7 +73,7 @@ object AmapNai {
endName
:
String
,
endName
:
String
,
ways
:
List
<
WayPoi
>
ways
:
List
<
WayPoi
>
)
{
)
{
var
context
=
UserCtx
.
instance
.
mContext
var
context
=
UserCtx
.
Companion
.
instance
.
mContext
//途经点
//途经点
var
poiList
=
mutableListOf
<
Poi
>()
var
poiList
=
mutableListOf
<
Poi
>()
if
(
ways
.
count
()
>
0
)
{
if
(
ways
.
count
()
>
0
)
{
...
@@ -82,16 +81,16 @@ object AmapNai {
...
@@ -82,16 +81,16 @@ object AmapNai {
poiList
.
add
(
poiList
.
add
(
Poi
(
Poi
(
wpoi
.
passName
,
wpoi
.
passName
,
A
LatLng
(
wpoi
.
passPoint
!!
.
lat
,
wpoi
.
passPoint
!!
.
lng
),
LatLng
(
wpoi
.
passPoint
!!
.
lat
,
wpoi
.
passPoint
!!
.
lng
),
""
""
)
)
)
)
}
}
}
}
val
params
=
AmapNaviParams
(
val
params
=
AmapNaviParams
(
Poi
(
startName
,
A
LatLng
(
starPoint
.
lat
,
starPoint
.
lng
),
""
),
Poi
(
startName
,
LatLng
(
starPoint
.
lat
,
starPoint
.
lng
),
""
),
poiList
,
poiList
,
Poi
(
endName
,
A
LatLng
(
endPoint
.
lat
,
endPoint
.
lng
),
""
),
Poi
(
endName
,
LatLng
(
endPoint
.
lat
,
endPoint
.
lng
),
""
),
AmapNaviType
.
DRIVER
,
AmapPageType
.
ROUTE
AmapNaviType
.
DRIVER
,
AmapPageType
.
ROUTE
)
)
params
.
setUseInnerVoice
(
true
)
params
.
setUseInnerVoice
(
true
)
...
...
mapapi/src/main/java/com/sd/api/
core/basic
/amap/AmapRoutePlans.kt
→
mapapi/src/main/java/com/sd/api/
maps
/amap/AmapRoutePlans.kt
View file @
fe30889a
package
com.sd.api.
core.basic
.amap
package
com.sd.api.
maps
.amap
import
com.amap.api.maps.CameraUpdateFactory
import
com.amap.api.maps.CameraUpdateFactory
import
com.amap.api.maps.model.LatLng
import
com.amap.api.maps.model.Poi
import
com.amap.api.maps.model.Poi
import
com.amap.api.navi.AMapNavi
import
com.amap.api.navi.AMapNavi
import
com.amap.api.navi.model.AMapCalcRouteResult
import
com.amap.api.navi.model.AMapCalcRouteResult
...
@@ -9,13 +10,11 @@ import com.amap.api.navi.model.NaviLatLng
...
@@ -9,13 +10,11 @@ import com.amap.api.navi.model.NaviLatLng
import
com.amap.api.navi.view.RouteOverLay
import
com.amap.api.navi.view.RouteOverLay
import
com.sd.api.UserCtx
import
com.sd.api.UserCtx
import
com.sd.api.bean.DriverRouteBean
import
com.sd.api.bean.DriverRouteBean
import
com.sd.api.maps.cdata.MSLatLng
import
com.sd.api.bean.WayPoi
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.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
{
class
AmapRoutePlans
{
...
@@ -25,7 +24,7 @@ class AmapRoutePlans {
...
@@ -25,7 +24,7 @@ class AmapRoutePlans {
}
}
//驾车算路回调对象
//驾车算路回调对象
private
var
driverRouteBean
=
DriverRouteBean
.
instance
private
var
driverRouteBean
=
DriverRouteBean
.
Companion
.
instance
//驾车路径规划回调接口
//驾车路径规划回调接口
private
var
onDriveRoute
:
OnDriveRoute
?
=
null
private
var
onDriveRoute
:
OnDriveRoute
?
=
null
...
@@ -59,7 +58,7 @@ class AmapRoutePlans {
...
@@ -59,7 +58,7 @@ class AmapRoutePlans {
this
.
onDriveRoute
=
onDriveRoute
this
.
onDriveRoute
=
onDriveRoute
this
.
mapReadView
=
mapReadView
this
.
mapReadView
=
mapReadView
var
context
=
UserCtx
.
instance
.
mContext
var
context
=
UserCtx
.
Companion
.
instance
.
mContext
mAMapNavi
=
AMapNavi
.
getInstance
(
context
)
mAMapNavi
=
AMapNavi
.
getInstance
(
context
)
mAMapNavi
!!
.
addAMapNaviListener
(
aMapNaviListener
)
mAMapNavi
!!
.
addAMapNaviListener
(
aMapNaviListener
)
...
@@ -71,7 +70,7 @@ class AmapRoutePlans {
...
@@ -71,7 +70,7 @@ class AmapRoutePlans {
poiList
.
add
(
poiList
.
add
(
Poi
(
Poi
(
wpoi
.
passName
,
wpoi
.
passName
,
A
LatLng
(
wpoi
.
passPoint
!!
.
lat
,
wpoi
.
passPoint
!!
.
lng
),
LatLng
(
wpoi
.
passPoint
!!
.
lat
,
wpoi
.
passPoint
!!
.
lng
),
""
""
)
)
)
)
...
@@ -113,7 +112,7 @@ class AmapRoutePlans {
...
@@ -113,7 +112,7 @@ class AmapRoutePlans {
)
{
)
{
if
(
aMapCalcRouteResult
==
null
)
if
(
aMapCalcRouteResult
==
null
)
return
return
var
context
=
UserCtx
.
instance
.
mContext
var
context
=
UserCtx
.
Companion
.
instance
.
mContext
// 清除之前的路线覆盖物
// 清除之前的路线覆盖物
if
(
routeOverlay
!=
null
)
{
if
(
routeOverlay
!=
null
)
{
routeOverlay
?.
removeFromMap
()
routeOverlay
?.
removeFromMap
()
...
...
mapapi/src/main/java/com/sd/api/
core/basic
/OnDriveRoute.kt
→
mapapi/src/main/java/com/sd/api/
maps/inters
/OnDriveRoute.kt
View file @
fe30889a
package
com.sd.api.
core.basic
package
com.sd.api.
maps.inters
import
com.sd.api.bean.DriverRouteBean
import
com.sd.api.bean.DriverRouteBean
...
...
mapapi/src/main/java/com/sd/api/maps/mine/MineDrawInMap.kt
View file @
fe30889a
...
@@ -7,7 +7,7 @@ import com.minedata.minenavi.map.MarkerOptions
...
@@ -7,7 +7,7 @@ import com.minedata.minenavi.map.MarkerOptions
import
com.minedata.minenavi.map.PolygonOptions
import
com.minedata.minenavi.map.PolygonOptions
import
com.minedata.minenavi.map.PolylineOptions
import
com.minedata.minenavi.map.PolylineOptions
import
com.minedata.minenavi.mapdal.LatLng
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.UserCtx
import
com.sd.api.maps.cdata.MSLatLng
import
com.sd.api.maps.cdata.MSLatLng
import
com.sd.api.maps.cdata.MSMarker
import
com.sd.api.maps.cdata.MSMarker
...
...
mapapi/src/main/java/com/sd/api/
core/basic
/mine/MineNai.kt
→
mapapi/src/main/java/com/sd/api/
maps
/mine/MineNai.kt
View file @
fe30889a
package
com.sd.api.
core.basic
.mine
package
com.sd.api.
maps
.mine
import
android.content.Intent
import
android.content.Intent
import
android.graphics.Point
import
android.graphics.Point
...
@@ -19,11 +19,12 @@ import com.minedata.minenavi.navi.SmoothNaviData
...
@@ -19,11 +19,12 @@ import com.minedata.minenavi.navi.SmoothNaviData
import
com.minedata.minenavi.navi.TmcSections
import
com.minedata.minenavi.navi.TmcSections
import
com.minedata.minenavi.util.Tools
import
com.minedata.minenavi.util.Tools
import
com.sd.api.UserCtx
import
com.sd.api.UserCtx
import
com.sd.api.maps.cdata.MSLatLng
import
com.sd.api.bean.WayPoi
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.MyMineNaviListener
import
com.sd.api.intfaces.OnNaviPresenterListener
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
import
com.sd.api.ui.MineNaiDirActivity
/**
/**
...
@@ -49,7 +50,7 @@ object MineNai {
...
@@ -49,7 +50,7 @@ object MineNai {
autoRemoveRoute
=
true
autoRemoveRoute
=
true
// useMineNaviGPS = true
// useMineNaviGPS = true
}
}
var
context
=
UserCtx
.
instance
.
mContext
var
context
=
UserCtx
.
Companion
.
instance
.
mContext
mNaviSession
!!
.
init
(
context
,
naviSessionParams
)
mNaviSession
!!
.
init
(
context
,
naviSessionParams
)
mNaviSession
?.
setDataPreference
(
DataPreference
.
preferOnline
)
mNaviSession
?.
setDataPreference
(
DataPreference
.
preferOnline
)
...
@@ -58,7 +59,7 @@ object MineNai {
...
@@ -58,7 +59,7 @@ object MineNai {
/**
/**
* 开启四维导航 客户端自实现数据回调
* 开启四维导航 客户端自实现数据回调
*/
*/
fun
startNavi
(
mapReadView
:
MapReadyView
?,
onNaviPresenterListener
:
OnNaviPresenterListener
?)
{
fun
startNavi
(
mapReadView
:
MapReadyView
?,
onNaviPresenterListener
:
OnNaviPresenterListener
?)
{
mNaviSession
?.
addMineNaviListener
(
myMineNaviListener
)
mNaviSession
?.
addMineNaviListener
(
myMineNaviListener
)
var
mRouteBas
=
MineRoutePlans
.
mRouteBase
var
mRouteBas
=
MineRoutePlans
.
mRouteBase
if
(
mRouteBas
!=
null
)
{
if
(
mRouteBas
!=
null
)
{
...
@@ -79,7 +80,7 @@ object MineNai {
...
@@ -79,7 +80,7 @@ object MineNai {
ways
:
List
<
WayPoi
>
ways
:
List
<
WayPoi
>
)
{
)
{
var
params
=
MineNaiParams
(
starPoint
,
startName
,
endPoint
,
endName
,
ways
)
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
)
var
inten
=
Intent
(
context
,
MineNaiDirActivity
::
class
.
java
)
inten
.
putExtra
(
"mineNaiParams"
,
params
)
inten
.
putExtra
(
"mineNaiParams"
,
params
)
...
@@ -92,7 +93,7 @@ object MineNai {
...
@@ -92,7 +93,7 @@ object MineNai {
/**
/**
* 直接使用RouteBase开启导航
* 直接使用RouteBase开启导航
*/
*/
fun
startNaviFormRouteBase
(
routeBase
:
RouteBase
?,
mStartPoint
:
MSLatLng
,
mapReadView
:
MapReadyView
?)
{
fun
startNaviFormRouteBase
(
routeBase
:
RouteBase
?,
mStartPoint
:
MSLatLng
,
mapReadView
:
MapReadyView
?)
{
// mMineMap = mapReadView?.mMineMap
// mMineMap = mapReadView?.mMineMap
if
(
routeBase
==
null
)
if
(
routeBase
==
null
)
return
return
...
...
mapapi/src/main/java/com/sd/api/
core/basic
/mine/MineNaiParams.kt
→
mapapi/src/main/java/com/sd/api/
maps
/mine/MineNaiParams.kt
View file @
fe30889a
package
com.sd.api.
core.basic
.mine
package
com.sd.api.
maps
.mine
import
android.os.Parcelable
import
android.os.Parcelable
import
com.sd.api.maps.cdata.MSLatLng
import
com.sd.api.bean.WayPoi
import
com.sd.api.bean.WayPoi
import
com.sd.api.maps.cdata.MSLatLng
import
kotlinx.parcelize.Parcelize
import
kotlinx.parcelize.Parcelize
/**
/**
* 导航参数跳转
* 导航参数跳转
*/
*/
...
@@ -16,4 +15,4 @@ data class MineNaiParams(
...
@@ -16,4 +15,4 @@ data class MineNaiParams(
val
endPoint
:
MSLatLng
,
val
endPoint
:
MSLatLng
,
val
endName
:
String
,
val
endName
:
String
,
val
ways
:
List
<
WayPoi
>
val
ways
:
List
<
WayPoi
>
)
:
Parcelable
)
:
Parcelable
\ No newline at end of file
mapapi/src/main/java/com/sd/api/
core/basic
/mine/MineRoutePlans.kt
→
mapapi/src/main/java/com/sd/api/
maps
/mine/MineRoutePlans.kt
View file @
fe30889a
package
com.sd.api.
core.basic
.mine
package
com.sd.api.
maps
.mine
import
android.graphics.Point
import
android.graphics.Point
import
android.graphics.Rect
import
android.graphics.Rect
...
@@ -14,14 +14,13 @@ import com.minedata.minenavi.navi.RoutePlan
...
@@ -14,14 +14,13 @@ import com.minedata.minenavi.navi.RoutePlan
import
com.minedata.minenavi.navi.RouterErrorInfo
import
com.minedata.minenavi.navi.RouterErrorInfo
import
com.minedata.minenavi.util.Tools
import
com.minedata.minenavi.util.Tools
import
com.sd.api.bean.DriverRouteBean
import
com.sd.api.bean.DriverRouteBean
import
com.sd.api.maps.cdata.MSLatLng
import
com.sd.api.bean.WayPoi
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.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
import
com.sd.api.utils.DisplayUtil
/**四维路劲规划*/
/**四维路劲规划*/
object
MineRoutePlans
{
object
MineRoutePlans
{
...
@@ -29,7 +28,7 @@ object MineRoutePlans {
...
@@ -29,7 +28,7 @@ object MineRoutePlans {
private
var
mNaviSession
:
NaviSession
?
=
null
private
var
mNaviSession
:
NaviSession
?
=
null
//驾车算路回调对象
//驾车算路回调对象
private
var
driverRouteBean
=
DriverRouteBean
.
instance
private
var
driverRouteBean
=
DriverRouteBean
.
Companion
.
instance
//驾车路径规划回调接口
//驾车路径规划回调接口
private
var
onDriveRoute
:
OnDriveRoute
?
=
null
private
var
onDriveRoute
:
OnDriveRoute
?
=
null
...
...
mapapi/src/main/java/com/sd/api/ui/MapMultiView.kt
View file @
fe30889a
...
@@ -6,8 +6,8 @@ import android.view.LayoutInflater
...
@@ -6,8 +6,8 @@ import android.view.LayoutInflater
import
android.widget.LinearLayout
import
android.widget.LinearLayout
import
androidx.core.content.withStyledAttributes
import
androidx.core.content.withStyledAttributes
import
androidx.fragment.app.FragmentActivity
import
androidx.fragment.app.FragmentActivity
import
com.
msmap
.api.R
import
com.
sd
.api.R
import
com.
msmap
.api.databinding.MultiViewBinding
import
com.
sd
.api.databinding.MultiViewBinding
import
com.sd.api.MAP_TYPE
import
com.sd.api.MAP_TYPE
import
com.sd.api.MSDKInitializer
import
com.sd.api.MSDKInitializer
import
com.sd.api.ui.MapReadyView
import
com.sd.api.ui.MapReadyView
...
...
mapapi/src/main/java/com/sd/api/ui/MineNaiDirActivity.kt
View file @
fe30889a
...
@@ -18,16 +18,17 @@ import com.minedata.minenavi.navi.TmcSections
...
@@ -18,16 +18,17 @@ import com.minedata.minenavi.navi.TmcSections
import
com.minedata.minenavi.navi.TurnIconModel
import
com.minedata.minenavi.navi.TurnIconModel
import
com.minedata.minenavi.util.MineNaviUtil
import
com.minedata.minenavi.util.MineNaviUtil
import
com.minedata.minenavi.util.Tools
import
com.minedata.minenavi.util.Tools
import
com.
msmap
.api.R
import
com.
sd
.api.R
import
com.
msmap
.api.databinding.ActivityMineNaiDirBinding
import
com.
sd
.api.databinding.ActivityMineNaiDirBinding
import
com.sd.api.bean.DriverRouteBean
import
com.sd.api.bean.DriverRouteBean
import
com.sd.api.ui.MapReadyView
import
com.sd.api.ui.MapReadyView
import
com.sd.api.
core.basic
.OnDriveRoute
import
com.sd.api.
maps.inters
.OnDriveRoute
import
com.sd.api.
core.basic
.mine.MineNai
import
com.sd.api.
maps
.mine.MineNai
import
com.sd.api.
core.basic
.mine.MineNaiParams
import
com.sd.api.
maps
.mine.MineNaiParams
import
com.sd.api.
core.basic
.mine.MineRoutePlans
import
com.sd.api.
maps
.mine.MineRoutePlans
import
com.sd.api.intfaces.OnComCan
import
com.sd.api.intfaces.OnComCan
import
com.sd.api.intfaces.OnNaviPresenterListener
import
com.sd.api.intfaces.OnNaviPresenterListener
import
com.sd.api.maps.MSRoutePlans
import
com.sd.api.ui.MapMultiView.OnMapReadyLis
import
com.sd.api.ui.MapMultiView.OnMapReadyLis
import
com.sd.api.ui.dialog.ExitNaiDialog
import
com.sd.api.ui.dialog.ExitNaiDialog
import
com.sd.api.utils.Utils
import
com.sd.api.utils.Utils
...
@@ -44,7 +45,7 @@ class MineNaiDirActivity : AppCompatActivity(), OnNaviPresenterListener {
...
@@ -44,7 +45,7 @@ class MineNaiDirActivity : AppCompatActivity(), OnNaviPresenterListener {
private
var
mineNaiParams
:
MineNaiParams
?
=
null
private
var
mineNaiParams
:
MineNaiParams
?
=
null
//获取接口功能实例
//获取接口功能实例
private
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
//
private var mapCoreApi = MapCoreApi.mapCoreApi
//四维导航地图工具
//四维导航地图工具
private
lateinit
var
mUtils
:
Utils
private
lateinit
var
mUtils
:
Utils
...
@@ -71,7 +72,7 @@ class MineNaiDirActivity : AppCompatActivity(), OnNaviPresenterListener {
...
@@ -71,7 +72,7 @@ class MineNaiDirActivity : AppCompatActivity(), OnNaviPresenterListener {
override
fun
onMapReady
(
mapReadyView
:
MapReadyView
)
{
override
fun
onMapReady
(
mapReadyView
:
MapReadyView
)
{
this
@MineNaiDirActivity
.
mapReadView
=
mapReadyView
this
@MineNaiDirActivity
.
mapReadView
=
mapReadyView
//切换为2D平面图
//切换为2D平面图
mapReadyView
.
mMineMap
?.
elevation
=
0f
//
mapReadyView.mMineMap?.elevation=0f
//算路成功以后启动导航
//算路成功以后启动导航
startPlan
()
startPlan
()
}
}
...
@@ -89,7 +90,7 @@ class MineNaiDirActivity : AppCompatActivity(), OnNaviPresenterListener {
...
@@ -89,7 +90,7 @@ class MineNaiDirActivity : AppCompatActivity(), OnNaviPresenterListener {
var
ways
=
mineNaiParams
!!
.
ways
var
ways
=
mineNaiParams
!!
.
ways
//开始路径规划
//开始路径规划
mapCoreApi
.
drivingPathPlanning
(
MSRoutePlans
.
drivingPathPlanning
(
startPoint
,
startName
,
endPoint
,
endName
,
ways
,
mapReadView
,
object
:
OnDriveRoute
{
startPoint
,
startName
,
endPoint
,
endName
,
ways
,
mapReadView
,
object
:
OnDriveRoute
{
override
fun
onDriverRoute
(
driverRouteBean
:
DriverRouteBean
)
{
override
fun
onDriverRoute
(
driverRouteBean
:
DriverRouteBean
)
{
var
routeBase
=
driverRouteBean
.
routeBase
var
routeBase
=
driverRouteBean
.
routeBase
...
...
mapapi/src/main/java/com/sd/api/ui/widget/HorCarTmc.kt
View file @
fe30889a
...
@@ -10,7 +10,7 @@ import android.graphics.RectF
...
@@ -10,7 +10,7 @@ import android.graphics.RectF
import
android.util.AttributeSet
import
android.util.AttributeSet
import
android.widget.LinearLayout
import
android.widget.LinearLayout
import
com.minedata.minenavi.navi.TmcSections
import
com.minedata.minenavi.navi.TmcSections
import
com.
msmap
.api.R
import
com.
sd
.api.R
/***横向的汽车**/
/***横向的汽车**/
class
HorCarTmc
:
LinearLayout
{
class
HorCarTmc
:
LinearLayout
{
...
...
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment