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
ea79dc91
Commit
ea79dc91
authored
Jan 12, 2026
by
p x
Browse files
规范类命名
parent
f1f5b064
Changes
48
Hide whitespace changes
Inline
Side-by-side
.idea/misc.xml
View file @
ea79dc91
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<project
version=
"4"
>
<component
name=
"ExternalStorageConfigurationManager"
enabled=
"true"
/>
<component
name=
"ExternalStorageConfigurationManager"
enabled=
"true"
/>
<component
name=
"JavadocGenerationManager"
>
<component
name=
"JavadocGenerationManager"
>
...
...
app/src/main/java/com/sd/demo/adapter/PoiAdapter.kt
View file @
ea79dc91
...
@@ -12,7 +12,7 @@ import androidx.core.text.set
...
@@ -12,7 +12,7 @@ import androidx.core.text.set
import
androidx.recyclerview.widget.RecyclerView
import
androidx.recyclerview.widget.RecyclerView
import
com.chad.library.adapter4.BaseQuickAdapter
import
com.chad.library.adapter4.BaseQuickAdapter
import
com.cusc.map.map2d.CalcuMapUtil
import
com.cusc.map.map2d.CalcuMapUtil
import
com.cusc.map.map2d.cdata.LatLng
M
import
com.cusc.map.map2d.cdata.LatLng
import
com.cusc.map.map2d.cdata.PoiSearchRes
import
com.cusc.map.map2d.cdata.PoiSearchRes
import
com.sd.demo.databinding.PoiSearchListItemBinding
import
com.sd.demo.databinding.PoiSearchListItemBinding
...
@@ -60,8 +60,8 @@ class PoiAdapter : BaseQuickAdapter<PoiSearchRes, PoiAdapter.PoiSH>() {
...
@@ -60,8 +60,8 @@ class PoiAdapter : BaseQuickAdapter<PoiSearchRes, PoiAdapter.PoiSH>() {
binding
.
poiDes
.
text
=
bean
.
snippet
binding
.
poiDes
.
text
=
bean
.
snippet
// binding.tvDistan.text=bean.distance.toString()
// binding.tvDistan.text=bean.distance.toString()
// 计算2点距离
// 计算2点距离
var
latLng1
=
LatLng
M
(
39.787678
,
116.518766
)
var
latLng1
=
LatLng
(
39.787678
,
116.518766
)
var
latLng2
=
LatLng
M
(
bean
.
lat
,
bean
.
lng
)
var
latLng2
=
LatLng
(
bean
.
lat
,
bean
.
lng
)
var
dis
=
CalcuMapUtil
.
calculateLineDistance
(
latLng1
,
latLng2
)
var
dis
=
CalcuMapUtil
.
calculateLineDistance
(
latLng1
,
latLng2
)
binding
.
tvDistan
.
text
=
"${dis}米"
binding
.
tvDistan
.
text
=
"${dis}米"
}
}
...
...
app/src/main/java/com/sd/demo/ui/CalculateDistanceActivity.kt
View file @
ea79dc91
...
@@ -2,7 +2,7 @@ package com.sd.demo.ui
...
@@ -2,7 +2,7 @@ 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.cusc.map.map2d.cdata.LatLng
M
import
com.cusc.map.map2d.cdata.LatLng
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.map2d.CalcuMapUtil
import
com.cusc.map.map2d.CalcuMapUtil
import
com.cusc.map.ui.MapView.OnMapReadyLis
import
com.cusc.map.ui.MapView.OnMapReadyLis
...
@@ -29,11 +29,11 @@ class CalculateDistanceActivity : AppCompatActivity() {
...
@@ -29,11 +29,11 @@ class CalculateDistanceActivity : AppCompatActivity() {
//计算2点距离
//计算2点距离
binding
.
bt1
.
setOnClickListener
{
binding
.
bt1
.
setOnClickListener
{
var
latLng1
=
LatLng
M
(
var
latLng1
=
LatLng
(
binding
.
et1
.
text
.
toString
().
toDouble
(),
binding
.
et1
.
text
.
toString
().
toDouble
(),
binding
.
et2
.
text
.
toString
().
toDouble
()
binding
.
et2
.
text
.
toString
().
toDouble
()
)
)
var
latLng2
=
LatLng
M
(
var
latLng2
=
LatLng
(
binding
.
et3
.
text
.
toString
().
toDouble
(),
binding
.
et3
.
text
.
toString
().
toDouble
(),
binding
.
et4
.
text
.
toString
().
toDouble
()
binding
.
et4
.
text
.
toString
().
toDouble
()
)
)
...
...
app/src/main/java/com/sd/demo/ui/OnLineMapActivity.kt
View file @
ea79dc91
...
@@ -6,8 +6,8 @@ import androidx.lifecycle.lifecycleScope
...
@@ -6,8 +6,8 @@ import androidx.lifecycle.lifecycleScope
import
com.google.gson.Gson
import
com.google.gson.Gson
import
com.cusc.map.map2d.CalcuMapUtil
import
com.cusc.map.map2d.CalcuMapUtil
import
com.cusc.map.map2d.MethodAdv
import
com.cusc.map.map2d.MethodAdv
import
com.cusc.map.map2d.cdata.LatLng
M
import
com.cusc.map.map2d.cdata.LatLng
import
com.cusc.map.scenario.Cu
c
sVehicle
import
com.cusc.map.scenario.Cus
c
Vehicle
import
com.cusc.map.scenario.bean.VehiclePos
import
com.cusc.map.scenario.bean.VehiclePos
import
com.cusc.map.ui.MapView.OnMapReadyLis
import
com.cusc.map.ui.MapView.OnMapReadyLis
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.ui.MapReadyView
...
@@ -49,15 +49,15 @@ class OnLineMapActivity : AppCompatActivity() {
...
@@ -49,15 +49,15 @@ class OnLineMapActivity : AppCompatActivity() {
}
}
binding
.
bt2
.
setOnClickListener
{
binding
.
bt2
.
setOnClickListener
{
// 停止移动
// 停止移动
Cu
c
sVehicle
.
stopCar
()
Cus
c
Vehicle
.
stopCar
()
}
}
binding
.
bt3
.
setOnClickListener
{
binding
.
bt3
.
setOnClickListener
{
// 删除小车
// 删除小车
Cu
c
sVehicle
.
deleteCarModel
()
Cus
c
Vehicle
.
deleteCarModel
()
}
}
binding
.
bt4
.
setOnClickListener
{
binding
.
bt4
.
setOnClickListener
{
// 恢复移动
// 恢复移动
Cu
c
sVehicle
.
resumeCarMove
()
Cus
c
Vehicle
.
resumeCarMove
()
}
}
}
}
...
@@ -78,8 +78,8 @@ class OnLineMapActivity : AppCompatActivity() {
...
@@ -78,8 +78,8 @@ class OnLineMapActivity : AppCompatActivity() {
var
pc
=
mRoutes
.
rs
.
get
(
index
)
var
pc
=
mRoutes
.
rs
.
get
(
index
)
//计算航向角
//计算航向角
head
=
CalcuMapUtil
.
calculateBearing
(
head
=
CalcuMapUtil
.
calculateBearing
(
LatLng
M
(
p1
[
1
],
p1
[
0
]),
LatLng
(
p1
[
1
],
p1
[
0
]),
LatLng
M
(
pc
[
1
],
pc
[
0
])
LatLng
(
pc
[
1
],
pc
[
0
])
)
)
//构造车辆位置数据
//构造车辆位置数据
VehiclePos
.
instance
.
apply
{
VehiclePos
.
instance
.
apply
{
...
@@ -90,7 +90,7 @@ class OnLineMapActivity : AppCompatActivity() {
...
@@ -90,7 +90,7 @@ class OnLineMapActivity : AppCompatActivity() {
}
}
}
}
//移动车辆 第二个参数为移动的地图类型 moveType 1=高精地图 2= 局部地图 3=在线地图
//移动车辆 第二个参数为移动的地图类型 moveType 1=高精地图 2= 局部地图 3=在线地图
Cu
c
sVehicle
.
moveCar
(
VehiclePos
.
instance
,
3
)
Cus
c
Vehicle
.
moveCar
(
VehiclePos
.
instance
,
3
)
oldHead
=
head
oldHead
=
head
delay
(
300
)
delay
(
300
)
}
}
...
...
app/src/main/java/com/sd/demo/ui/PartRoadActivity.kt
View file @
ea79dc91
...
@@ -6,10 +6,10 @@ import androidx.lifecycle.lifecycleScope
...
@@ -6,10 +6,10 @@ import androidx.lifecycle.lifecycleScope
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.ui.MapReadyView
import
com.google.gson.Gson
import
com.google.gson.Gson
import
com.cusc.map.map2d.CalcuMapUtil
import
com.cusc.map.map2d.CalcuMapUtil
import
com.cusc.map.map2d.cdata.LatLng
M
import
com.cusc.map.map2d.cdata.LatLng
import
com.cusc.map.parkroad.ParkRoad
M
import
com.cusc.map.parkroad.ParkRoad
import
com.cusc.map.parkroad.PartType
import
com.cusc.map.parkroad.PartType
import
com.cusc.map.scenario.Cu
c
sVehicle
import
com.cusc.map.scenario.Cus
c
Vehicle
import
com.cusc.map.scenario.PerceptionManager
import
com.cusc.map.scenario.PerceptionManager
import
com.cusc.map.scenario.V2xWarn
import
com.cusc.map.scenario.V2xWarn
import
com.cusc.map.scenario.bean.Percept
import
com.cusc.map.scenario.bean.Percept
...
@@ -42,7 +42,7 @@ class PartRoadActivity : AppCompatActivity() {
...
@@ -42,7 +42,7 @@ class PartRoadActivity : AppCompatActivity() {
// MsParkRoad.setCarRoadVM(mapReadView)
// MsParkRoad.setCarRoadVM(mapReadView)
}
}
})
})
//
设置局部图数据查询
地址
//
更新路网服务的URL
地址
binding
.
MapView
.
setRoadBaseUrl
(
"http://172.24.124.130:8110/query/query3"
)
binding
.
MapView
.
setRoadBaseUrl
(
"http://172.24.124.130:8110/query/query3"
)
setLis
()
setLis
()
}
}
...
@@ -55,22 +55,22 @@ class PartRoadActivity : AppCompatActivity() {
...
@@ -55,22 +55,22 @@ class PartRoadActivity : AppCompatActivity() {
}
}
// 添加底部光圈
// 添加底部光圈
binding
.
bt2
.
setOnClickListener
{
binding
.
bt2
.
setOnClickListener
{
ParkRoad
M
.
showWarningCircle
(
true
)
ParkRoad
.
showWarningCircle
(
true
)
}
}
//设置感知物显示距离
//设置感知物显示距离
binding
.
bt3
.
setOnClickListener
{
binding
.
bt3
.
setOnClickListener
{
ParkRoad
M
.
setDistanceVisible
(
100.0
)
ParkRoad
.
setDistanceVisible
(
100.0
)
}
}
//跟车视角
//跟车视角
binding
.
bt4
.
setOnClickListener
{
binding
.
bt4
.
setOnClickListener
{
ParkRoad
M
.
setCameraPosition
(
25.0
)
ParkRoad
.
setCameraPosition
(
25.0
)
}
}
//人行道
//人行道
binding
.
bt5
.
setOnClickListener
{
binding
.
bt5
.
setOnClickListener
{
lifecycleScope
.
launch
{
lifecycleScope
.
launch
{
ParkRoad
M
.
showWalkLine
(
true
)
ParkRoad
.
showWalkLine
(
true
)
delay
(
2000
)
delay
(
2000
)
ParkRoad
M
.
showWalkLine
(
false
)
ParkRoad
.
showWalkLine
(
false
)
}
}
}
}
//mark点
//mark点
...
@@ -90,9 +90,9 @@ class PartRoadActivity : AppCompatActivity() {
...
@@ -90,9 +90,9 @@ class PartRoadActivity : AppCompatActivity() {
//预警雷达
//预警雷达
binding
.
bt7
.
setOnClickListener
{
binding
.
bt7
.
setOnClickListener
{
lifecycleScope
.
launch
{
lifecycleScope
.
launch
{
ParkRoad
M
.
toggleRadar
(
true
)
ParkRoad
.
toggleRadar
(
true
)
delay
(
2000
)
delay
(
2000
)
ParkRoad
M
.
toggleRadar
(
false
)
ParkRoad
.
toggleRadar
(
false
)
}
}
}
}
//加载感知物
//加载感知物
...
@@ -116,12 +116,12 @@ class PartRoadActivity : AppCompatActivity() {
...
@@ -116,12 +116,12 @@ class PartRoadActivity : AppCompatActivity() {
//预加载主车
//预加载主车
binding
.
bt11
.
setOnClickListener
{
binding
.
bt11
.
setOnClickListener
{
// println("-----点击预加载模型")
// println("-----点击预加载模型")
ParkRoad
M
.
preloadMainCar
(
assets
,
"car.glb"
)
ParkRoad
.
preloadMainCar
(
assets
,
"car.glb"
)
}
}
//预加载感知物
//预加载感知物
binding
.
bt12
.
setOnClickListener
{
binding
.
bt12
.
setOnClickListener
{
ParkRoad
M
.
preloadParticipant
(
assets
,
"truck.glb"
,
PartType
.
CAR
)
ParkRoad
.
preloadParticipant
(
assets
,
"truck.glb"
,
PartType
.
CAR
)
ParkRoad
M
.
preloadParticipant
(
assets
,
"passenger.glb"
,
PartType
.
PEOPLE
)
ParkRoad
.
preloadParticipant
(
assets
,
"passenger.glb"
,
PartType
.
PEOPLE
)
}
}
}
}
...
@@ -140,8 +140,8 @@ class PartRoadActivity : AppCompatActivity() {
...
@@ -140,8 +140,8 @@ class PartRoadActivity : AppCompatActivity() {
var
p1
=
mRoutes
.
rs
.
get
(
index
-
1
)
var
p1
=
mRoutes
.
rs
.
get
(
index
-
1
)
var
pc
=
mRoutes
.
rs
.
get
(
index
)
var
pc
=
mRoutes
.
rs
.
get
(
index
)
head
=
CalcuMapUtil
.
calculateBearing
(
head
=
CalcuMapUtil
.
calculateBearing
(
LatLng
M
(
p1
[
1
],
p1
[
0
]),
LatLng
(
p1
[
1
],
p1
[
0
]),
LatLng
M
(
pc
[
1
],
pc
[
0
])
LatLng
(
pc
[
1
],
pc
[
0
])
)
)
VehiclePos
.
instance
.
apply
{
VehiclePos
.
instance
.
apply
{
lat
=
pc
[
1
]
lat
=
pc
[
1
]
...
@@ -152,7 +152,7 @@ class PartRoadActivity : AppCompatActivity() {
...
@@ -152,7 +152,7 @@ class PartRoadActivity : AppCompatActivity() {
// evel = 20.80189
// evel = 20.80189
}
}
Cu
c
sVehicle
.
moveCar
(
VehiclePos
.
instance
,
2
)
Cus
c
Vehicle
.
moveCar
(
VehiclePos
.
instance
,
2
)
//更新车辆位置.主车是否添加回调
//更新车辆位置.主车是否添加回调
// ParkRoadM.updateMainCar(RoadPos.instance, object : OnPrAddCar {
// ParkRoadM.updateMainCar(RoadPos.instance, object : OnPrAddCar {
// override fun onPrAddCar(isAdd: Boolean) {
// override fun onPrAddCar(isAdd: Boolean) {
...
...
app/src/main/java/com/sd/demo/ui/ShowCarOnlineActivity.kt
View file @
ea79dc91
...
@@ -3,7 +3,7 @@ package com.sd.demo.ui
...
@@ -3,7 +3,7 @@ package com.sd.demo.ui
import
android.os.Bundle
import
android.os.Bundle
import
androidx.activity.enableEdgeToEdge
import
androidx.activity.enableEdgeToEdge
import
androidx.appcompat.app.AppCompatActivity
import
androidx.appcompat.app.AppCompatActivity
import
com.cusc.map.map2d.cdata.LatLng
M
import
com.cusc.map.map2d.cdata.LatLng
import
com.cusc.map.core.MShowMainCarModel
import
com.cusc.map.core.MShowMainCarModel
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.ui.MapView.OnMapReadyLis
import
com.cusc.map.ui.MapView.OnMapReadyLis
...
@@ -28,7 +28,7 @@ class ShowCarOnlineActivity : AppCompatActivity() {
...
@@ -28,7 +28,7 @@ class ShowCarOnlineActivity : AppCompatActivity() {
override
fun
onMapReady
(
mapReadyView
:
MapReadyView
)
{
override
fun
onMapReady
(
mapReadyView
:
MapReadyView
)
{
this
@ShowCarOnlineActivity
.
mapReadView
=
mapReadyView
this
@ShowCarOnlineActivity
.
mapReadView
=
mapReadyView
//地图加载完成后添加小车
//地图加载完成后添加小车
var
center
=
LatLng
M
(
39.787678
,
116.518766
)
var
center
=
LatLng
(
39.787678
,
116.518766
)
// MSMethodAdv.setMapCenter(mapReadView,center.lat, center.lng)
// MSMethodAdv.setMapCenter(mapReadView,center.lat, center.lng)
MShowMainCarModel
.
addMyLocCarModel
(
MShowMainCarModel
.
addMyLocCarModel
(
mapReadView
,
mapReadView
,
...
...
app/src/main/java/com/sd/demo/ui/TCircelActivity.kt
View file @
ea79dc91
...
@@ -6,8 +6,8 @@ import com.cusc.map.ui.MapReadyView
...
@@ -6,8 +6,8 @@ import com.cusc.map.ui.MapReadyView
import
com.cusc.map.map2d.DelDrawInMap
import
com.cusc.map.map2d.DelDrawInMap
import
com.cusc.map.map2d.cdata.MapOverlay
import
com.cusc.map.map2d.cdata.MapOverlay
import
com.cusc.map.map2d.DrawInMap
import
com.cusc.map.map2d.DrawInMap
import
com.cusc.map.map2d.CircleOptions
M
import
com.cusc.map.map2d.CircleOptions
import
com.cusc.map.map2d.cdata.LatLng
M
import
com.cusc.map.map2d.cdata.LatLng
import
com.cusc.map.ui.MapView.OnMapReadyLis
import
com.cusc.map.ui.MapView.OnMapReadyLis
import
com.sd.demo.databinding.ActivityTcircelBinding
import
com.sd.demo.databinding.ActivityTcircelBinding
...
@@ -19,7 +19,7 @@ class TCircelActivity : AppCompatActivity() {
...
@@ -19,7 +19,7 @@ class TCircelActivity : AppCompatActivity() {
var
mapReadView
:
MapReadyView
?
=
null
var
mapReadView
:
MapReadyView
?
=
null
//圆形覆盖物对象
//圆形覆盖物对象
private
var
m
S
Overlay
:
MapOverlay
?
=
null
private
var
mOverlay
:
MapOverlay
?
=
null
//获取接口功能实例
//获取接口功能实例
// var mapCoreApi = MapCoreApi.mapCoreApi
// var mapCoreApi = MapCoreApi.mapCoreApi
...
@@ -39,15 +39,15 @@ class TCircelActivity : AppCompatActivity() {
...
@@ -39,15 +39,15 @@ class TCircelActivity : AppCompatActivity() {
//删除圆形
//删除圆形
binding
.
bt1
.
setOnClickListener
{
binding
.
bt1
.
setOnClickListener
{
//删除圆形
//删除圆形
DelDrawInMap
.
deleteCircle
(
m
S
Overlay
)
DelDrawInMap
.
deleteCircle
(
mOverlay
)
}
}
//绘制圆形
//绘制圆形
binding
.
bt2
.
setOnClickListener
{
binding
.
bt2
.
setOnClickListener
{
//绘制一个圆形 116.3975,39.9079
//绘制一个圆形 116.3975,39.9079
var
center
=
LatLng
M
(
39.9079
,
116.3975
)
var
center
=
LatLng
(
39.9079
,
116.3975
)
//构造圆形绘制参数
//构造圆形绘制参数
var
msC
ircleOptions
=
CircleOptions
M
()
var
c
ircleOptions
=
CircleOptions
()
m
S
Overlay
=
DrawInMap
.
drawCircle
(
center
,
msC
ircleOptions
)
mOverlay
=
DrawInMap
.
drawCircle
(
center
,
c
ircleOptions
)
}
}
}
}
...
...
app/src/main/java/com/sd/demo/ui/TDriveRouteActivity.kt
View file @
ea79dc91
...
@@ -16,7 +16,7 @@ import com.cusc.map.map2d.cdata.WayPoi
...
@@ -16,7 +16,7 @@ import com.cusc.map.map2d.cdata.WayPoi
import
com.cusc.map.map2d.inters.OnNaviPresenterListener
import
com.cusc.map.map2d.inters.OnNaviPresenterListener
import
com.cusc.map.map2d.Navigate
import
com.cusc.map.map2d.Navigate
import
com.cusc.map.map2d.PathPlanning
import
com.cusc.map.map2d.PathPlanning
import
com.cusc.map.map2d.cdata.LatLng
M
import
com.cusc.map.map2d.cdata.LatLng
import
com.cusc.map.map2d.inters.OnDriveRoute
import
com.cusc.map.map2d.inters.OnDriveRoute
import
com.cusc.map.map2d.mine.MineNai
import
com.cusc.map.map2d.mine.MineNai
import
com.cusc.map.map2d.mine.MineRoutePlans
import
com.cusc.map.map2d.mine.MineRoutePlans
...
@@ -48,9 +48,9 @@ class TDriveRouteActivity : AppCompatActivity(), OnNaviPresenterListener {
...
@@ -48,9 +48,9 @@ class TDriveRouteActivity : AppCompatActivity(), OnNaviPresenterListener {
binding
.
starplan
.
setOnClickListener
{
binding
.
starplan
.
setOnClickListener
{
if
(
mapReadView
==
null
)
return
@setOnClickListener
if
(
mapReadView
==
null
)
return
@setOnClickListener
// 起点坐标
// 起点坐标
val
startPoint
=
LatLng
M
(
39.80715003487552
,
116.49872416608724
)
//
val
startPoint
=
LatLng
(
39.80715003487552
,
116.49872416608724
)
//
// 终点坐标
// 终点坐标
val
endPoint
=
LatLng
M
(
39.80841750846264
,
116.49490649028968
)
val
endPoint
=
LatLng
(
39.80841750846264
,
116.49490649028968
)
// 终点名称
// 终点名称
// val endName = "沈阳火车站"
// val endName = "沈阳火车站"
val
endName
=
"林肯公园B区"
val
endName
=
"林肯公园B区"
...
@@ -60,7 +60,7 @@ class TDriveRouteActivity : AppCompatActivity(), OnNaviPresenterListener {
...
@@ -60,7 +60,7 @@ class TDriveRouteActivity : AppCompatActivity(), OnNaviPresenterListener {
//途经点
//途经点
var
wayPoi
=
WayPoi
(
var
wayPoi
=
WayPoi
(
passName
=
"中国联通软件研究院"
,
passName
=
"中国联通软件研究院"
,
passPoint
=
LatLng
M
(
39.808099975017825
,
116.50229613984811
)
passPoint
=
LatLng
(
39.808099975017825
,
116.50229613984811
)
)
)
var
ways
=
listOf
<
WayPoi
>(
wayPoi
)
var
ways
=
listOf
<
WayPoi
>(
wayPoi
)
...
@@ -77,12 +77,12 @@ class TDriveRouteActivity : AppCompatActivity(), OnNaviPresenterListener {
...
@@ -77,12 +77,12 @@ class TDriveRouteActivity : AppCompatActivity(), OnNaviPresenterListener {
var
mRouteBase
=
driverRouteBean
.
routeBase
var
mRouteBase
=
driverRouteBean
.
routeBase
var
size
=
mRouteBase
?.
segmentNumber
?:
0
var
size
=
mRouteBase
?.
segmentNumber
?:
0
if
(
size
>
2
)
{
if
(
size
>
2
)
{
var
pos
=
mutableListOf
<
LatLng
M
>()
var
pos
=
mutableListOf
<
LatLng
>()
for
(
i
in
0
until
size
)
{
for
(
i
in
0
until
size
)
{
var
pointArr
=
mRouteBase
!!
.
getSegmentFinePoints
(
i
)
var
pointArr
=
mRouteBase
!!
.
getSegmentFinePoints
(
i
)
var
points
=
pointArr
.
map
{
var
points
=
pointArr
.
map
{
var
po
=
Tools
.
pointToLatLng
(
it
)
var
po
=
Tools
.
pointToLatLng
(
it
)
var
ms
=
LatLng
M
(
po
.
latitude
,
po
.
longitude
)
var
ms
=
LatLng
(
po
.
latitude
,
po
.
longitude
)
return
@map
ms
return
@map
ms
}
}
pos
.
addAll
(
points
)
pos
.
addAll
(
points
)
...
@@ -107,14 +107,14 @@ class TDriveRouteActivity : AppCompatActivity(), OnNaviPresenterListener {
...
@@ -107,14 +107,14 @@ class TDriveRouteActivity : AppCompatActivity(), OnNaviPresenterListener {
if
(
mapReadView
==
null
)
return
@setOnClickListener
if
(
mapReadView
==
null
)
return
@setOnClickListener
// 起点坐标 116.3215,39.8919
// 起点坐标 116.3215,39.8919
val
startPoint
=
LatLng
M
(
39.806898
,
116.490682
)
val
startPoint
=
LatLng
(
39.806898
,
116.490682
)
// 终点坐标116.3793,39.8643
// 终点坐标116.3793,39.8643
val
endPoint
=
LatLng
M
(
39.864311
,
116.379311
)
val
endPoint
=
LatLng
(
39.864311
,
116.379311
)
// 终点名称
// 终点名称
val
endName
=
"沈阳火车站"
val
endName
=
"沈阳火车站"
//途经点
//途经点
var
wayPoi
=
WayPoi
(
var
wayPoi
=
WayPoi
(
passName
=
"鸟巢"
,
passPoint
=
LatLng
M
(
39.99300
,
116.39524
)
passName
=
"鸟巢"
,
passPoint
=
LatLng
(
39.99300
,
116.39524
)
)
)
var
ways
=
listOf
<
WayPoi
>(
wayPoi
)
var
ways
=
listOf
<
WayPoi
>(
wayPoi
)
...
@@ -132,7 +132,7 @@ class TDriveRouteActivity : AppCompatActivity(), OnNaviPresenterListener {
...
@@ -132,7 +132,7 @@ class TDriveRouteActivity : AppCompatActivity(), OnNaviPresenterListener {
//模拟导航
//模拟导航
binding
.
simnai
.
setOnClickListener
{
binding
.
simnai
.
setOnClickListener
{
// 起点坐标
// 起点坐标
val
startPoint
=
LatLng
M
(
39.80715003487552
,
116.49872416608724
)
val
startPoint
=
LatLng
(
39.80715003487552
,
116.49872416608724
)
Navigate
.
startSimNavi
(
Navigate
.
startSimNavi
(
this
@TDriveRouteActivity
.
mapReadView
,
this
@TDriveRouteActivity
.
mapReadView
,
startPoint
,
startPoint
,
...
...
app/src/main/java/com/sd/demo/ui/TGpsActivity.kt
View file @
ea79dc91
...
@@ -3,11 +3,11 @@ package com.sd.demo.ui
...
@@ -3,11 +3,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.cusc.map.location.LocCbM
import
com.cusc.map.location.LocCbM
import
com.cusc.map.location.Locat
ionM
import
com.cusc.map.location.Locat
eMap
import
com.cusc.map.location.OnGpsLoc
import
com.cusc.map.location.OnGpsLoc
import
com.cusc.map.map2d.DrawInMap
import
com.cusc.map.map2d.DrawInMap
import
com.cusc.map.map2d.MethodAdv
import
com.cusc.map.map2d.MethodAdv
import
com.cusc.map.map2d.cdata.Marker
M
import
com.cusc.map.map2d.cdata.Marker
import
com.cusc.map.ui.MapView.OnMapReadyLis
import
com.cusc.map.ui.MapView.OnMapReadyLis
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.ui.MapReadyView
import
com.sd.demo.databinding.ActivityTgpsBinding
import
com.sd.demo.databinding.ActivityTgpsBinding
...
@@ -19,7 +19,7 @@ class TGpsActivity : AppCompatActivity() {
...
@@ -19,7 +19,7 @@ class TGpsActivity : AppCompatActivity() {
var
mapReadView
:
MapReadyView
?
=
null
var
mapReadView
:
MapReadyView
?
=
null
var
msMark
:
Marker
M
?
=
null
var
msMark
:
Marker
?
=
null
var
lat
=
0.0
var
lat
=
0.0
var
lng
=
0.0
var
lng
=
0.0
...
@@ -43,19 +43,19 @@ class TGpsActivity : AppCompatActivity() {
...
@@ -43,19 +43,19 @@ class TGpsActivity : AppCompatActivity() {
binding
.
bt
.
setOnClickListener
{
binding
.
bt
.
setOnClickListener
{
//开启定位
//开启定位
Locat
ionM
.
startLoc
(
object
:
OnGpsLoc
{
Locat
eMap
.
startLoc
(
object
:
OnGpsLoc
{
override
fun
on
Ms
GpsLoc
(
mSLocBean
:
LocCbM
)
{
override
fun
onGpsLoc
(
locCb
:
LocCbM
)
{
println
(
"---------mSLocBean = ${
mSLocBean
}"
)
println
(
"---------mSLocBean = ${
locCb
}"
)
lat
=
mSLocBean
.
lat
lat
=
locCb
.
lat
lng
=
mSLocBean
.
lng
lng
=
locCb
.
lng
var
sb
=
StringBuilder
()
var
sb
=
StringBuilder
()
sb
.
run
{
sb
.
run
{
append
(
"纬度:${
mSLocBean
.lat} \n"
)
append
(
"纬度:${
locCb
.lat} \n"
)
append
(
"精度:${
mSLocBean
.lng} \n"
)
append
(
"精度:${
locCb
.lng} \n"
)
append
(
"速度:${
mSLocBean
.speed} \n"
)
append
(
"速度:${
locCb
.speed} \n"
)
append
(
"航向角:${
mSLocBean
.bearing} \n"
)
append
(
"航向角:${
locCb
.bearing} \n"
)
append
(
"精度:${
mSLocBean
.accuracy} \n"
)
append
(
"精度:${
locCb
.accuracy} \n"
)
append
(
"高程:${
mSLocBean
.altitude} \n"
)
append
(
"高程:${
locCb
.altitude} \n"
)
}
}
binding
.
tv
.
text
=
sb
binding
.
tv
.
text
=
sb
}
}
...
@@ -72,14 +72,13 @@ class TGpsActivity : AppCompatActivity() {
...
@@ -72,14 +72,13 @@ class TGpsActivity : AppCompatActivity() {
override
fun
onStop
()
{
override
fun
onStop
()
{
super
.
onStop
()
super
.
onStop
()
//停止定位
//停止定位
Locat
ionM
.
stopLoc
()
Locat
eMap
.
stopLoc
()
}
}
override
fun
onDestroy
()
{
override
fun
onDestroy
()
{
super
.
onDestroy
()
super
.
onDestroy
()
//清理资源
//清理资源
Locat
ionM
.
cleansLoc
()
Locat
eMap
.
cleansLoc
()
}
}
}
}
\ No newline at end of file
app/src/main/java/com/sd/demo/ui/THighMapActivity.kt
View file @
ea79dc91
...
@@ -8,8 +8,8 @@ import com.cusc.map.map3d.AllLine
...
@@ -8,8 +8,8 @@ import com.cusc.map.map3d.AllLine
import
com.cusc.map.map3d.CarNavPath
import
com.cusc.map.map3d.CarNavPath
import
com.cusc.map.map3d.ThreeHighMap
import
com.cusc.map.map3d.ThreeHighMap
import
com.cusc.map.map2d.CalcuMapUtil
import
com.cusc.map.map2d.CalcuMapUtil
import
com.cusc.map.map2d.cdata.LatLng
M
import
com.cusc.map.map2d.cdata.LatLng
import
com.cusc.map.scenario.Cu
c
sVehicle
import
com.cusc.map.scenario.Cus
c
Vehicle
import
com.cusc.map.scenario.PerceptionManager
import
com.cusc.map.scenario.PerceptionManager
import
com.cusc.map.scenario.V2xWarn
import
com.cusc.map.scenario.V2xWarn
import
com.cusc.map.scenario.bean.Percept
import
com.cusc.map.scenario.bean.Percept
...
@@ -73,7 +73,7 @@ class THighMapActivity : AppCompatActivity() {
...
@@ -73,7 +73,7 @@ class THighMapActivity : AppCompatActivity() {
this
.
lines
=
lines
this
.
lines
=
lines
}
}
//设置车辆路径
//设置车辆路径
Cu
c
sVehicle
.
setCarNaiPath
(
carNavPath
)
Cus
c
Vehicle
.
setCarNaiPath
(
carNavPath
)
//模拟车辆移动
//模拟车辆移动
var
head
=
0.0
var
head
=
0.0
var
oldHead
=
0.0
var
oldHead
=
0.0
...
@@ -83,8 +83,8 @@ class THighMapActivity : AppCompatActivity() {
...
@@ -83,8 +83,8 @@ class THighMapActivity : AppCompatActivity() {
var
p1
=
mRoutes
.
rs
.
get
(
index
-
1
)
var
p1
=
mRoutes
.
rs
.
get
(
index
-
1
)
var
pc
=
mRoutes
.
rs
.
get
(
index
)
var
pc
=
mRoutes
.
rs
.
get
(
index
)
head
=
CalcuMapUtil
.
calculateBearing
(
head
=
CalcuMapUtil
.
calculateBearing
(
LatLng
M
(
p1
[
1
],
p1
[
0
]),
LatLng
(
p1
[
1
],
p1
[
0
]),
LatLng
M
(
pc
[
1
],
pc
[
0
])
LatLng
(
pc
[
1
],
pc
[
0
])
)
)
if
((
head
-
oldHead
).
absoluteValue
<
45
)
{
if
((
head
-
oldHead
).
absoluteValue
<
45
)
{
bearing
=
head
bearing
=
head
...
@@ -99,10 +99,10 @@ class THighMapActivity : AppCompatActivity() {
...
@@ -99,10 +99,10 @@ class THighMapActivity : AppCompatActivity() {
}
}
if
(
index
>
10
)
{
if
(
index
>
10
)
{
// 清除车辆路径
// 清除车辆路径
Cu
c
sVehicle
.
clearCarNaiPath
()
Cus
c
Vehicle
.
clearCarNaiPath
()
}
}
// HighMapApi.setCarPosition(head, it[1], it[0], 20.80189)
// HighMapApi.setCarPosition(head, it[1], it[0], 20.80189)
Cu
c
sVehicle
.
moveCar
(
VehiclePos
.
instance
,
1
)
Cus
c
Vehicle
.
moveCar
(
VehiclePos
.
instance
,
1
)
oldHead
=
head
oldHead
=
head
delay
(
300
)
delay
(
300
)
}
}
...
...
app/src/main/java/com/sd/demo/ui/TLineActivity.kt
View file @
ea79dc91
...
@@ -2,7 +2,7 @@ package com.sd.demo.ui
...
@@ -2,7 +2,7 @@ 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.cusc.map.map2d.cdata.LatLng
M
import
com.cusc.map.map2d.cdata.LatLng
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.map2d.DelDrawInMap
import
com.cusc.map.map2d.DelDrawInMap
import
com.cusc.map.map2d.cdata.MapOverlay
import
com.cusc.map.map2d.cdata.MapOverlay
...
@@ -44,18 +44,18 @@ class TLineActivity : AppCompatActivity() {
...
@@ -44,18 +44,18 @@ class TLineActivity : AppCompatActivity() {
binding
.
bt1
.
setOnClickListener
{
binding
.
bt1
.
setOnClickListener
{
//绘制一条线 //画实线
//绘制一条线 //画实线
var
matLng
=
listOf
<
LatLng
M
>(
var
matLng
=
listOf
<
LatLng
>(
LatLng
M
(
39.999391
,
116.135972
),
LatLng
M
(
39.898323
,
116.057694
),
LatLng
(
39.999391
,
116.135972
),
LatLng
(
39.898323
,
116.057694
),
LatLng
M
(
39.900430
,
116.265061
),
LatLng
M
(
39.955192
,
116.140092
)
LatLng
(
39.900430
,
116.265061
),
LatLng
(
39.955192
,
116.140092
)
)
)
var
polylineOptions
=
PolylineOptions
()
var
polylineOptions
=
PolylineOptions
()
mSOverlay
=
DrawInMap
.
drawPolyline
(
matLng
,
polylineOptions
)
mSOverlay
=
DrawInMap
.
drawPolyline
(
matLng
,
polylineOptions
)
}
}
binding
.
bt2
.
setOnClickListener
{
binding
.
bt2
.
setOnClickListener
{
//画虚线
//画虚线
var
msLatLng
=
listOf
<
LatLng
M
>(
var
msLatLng
=
listOf
<
LatLng
>(
LatLng
M
(
39.999591
,
116.135973
),
LatLng
M
(
39.898123
,
116.057691
),
LatLng
(
39.999591
,
116.135973
),
LatLng
(
39.898123
,
116.057691
),
LatLng
M
(
39.900230
,
116.265062
),
LatLng
M
(
39.951192
,
116.140090
)
LatLng
(
39.900230
,
116.265062
),
LatLng
(
39.951192
,
116.140090
)
)
)
//绘制线选项
//绘制线选项
var
msPolylineOptions
=
PolylineOptions
().
apply
{
var
msPolylineOptions
=
PolylineOptions
().
apply
{
...
...
app/src/main/java/com/sd/demo/ui/TMarkerActivity.kt
View file @
ea79dc91
...
@@ -4,7 +4,7 @@ import android.os.Bundle
...
@@ -4,7 +4,7 @@ import android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
androidx.appcompat.app.AppCompatActivity
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.map2d.DelDrawInMap
import
com.cusc.map.map2d.DelDrawInMap
import
com.cusc.map.map2d.cdata.Marker
M
import
com.cusc.map.map2d.cdata.Marker
import
com.cusc.map.map2d.DrawInMap
import
com.cusc.map.map2d.DrawInMap
import
com.cusc.map.ui.MapView.OnMapReadyLis
import
com.cusc.map.ui.MapView.OnMapReadyLis
import
com.sd.demo.databinding.ActivityTmarkerBinding
import
com.sd.demo.databinding.ActivityTmarkerBinding
...
@@ -17,7 +17,7 @@ class TMarkerActivity : AppCompatActivity() {
...
@@ -17,7 +17,7 @@ class TMarkerActivity : AppCompatActivity() {
var
mapReadView
:
MapReadyView
?
=
null
var
mapReadView
:
MapReadyView
?
=
null
//marker点实例
//marker点实例
var
msMark
:
Marker
M
?
=
null
var
msMark
:
Marker
?
=
null
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
super
.
onCreate
(
savedInstanceState
)
...
...
app/src/main/java/com/sd/demo/ui/TPoiSearchActivity.kt
View file @
ea79dc91
...
@@ -4,7 +4,7 @@ import android.os.Bundle
...
@@ -4,7 +4,7 @@ import android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
androidx.appcompat.app.AppCompatActivity
import
com.cusc.map.map2d.PoiSearch
import
com.cusc.map.map2d.PoiSearch
import
com.cusc.map.map2d.cdata.PoiSearchRes
import
com.cusc.map.map2d.cdata.PoiSearchRes
import
com.cusc.map.map2d.inters.On
MS
PoiSearchLis
import
com.cusc.map.map2d.inters.OnPoiSearchLis
import
com.cusc.map.ui.MapView.OnMapReadyLis
import
com.cusc.map.ui.MapView.OnMapReadyLis
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.ui.MapReadyView
import
com.sd.demo.adapter.PoiAdapter
import
com.sd.demo.adapter.PoiAdapter
...
@@ -58,15 +58,16 @@ class TPoiSearchActivity : AppCompatActivity() {
...
@@ -58,15 +58,16 @@ class TPoiSearchActivity : AppCompatActivity() {
/**poi关键字搜索
/**poi关键字搜索
* @param keyword 关键字
* @param keyword 关键字
*
***
/
*/
fun
testPoiSearch
(
keyword
:
String
)
{
fun
testPoiSearch
(
keyword
:
String
)
{
//poi关键字搜索
//poi关键字搜索
PoiSearch
.
startPoiSearch
(
PoiSearch
.
startPoiSearch
(
keyword
,
//关键字
keyword
,
//关键字
41.80196
,
41.80196
,
//维度
123.43326
,
123.43326
,
//经度
"110115"
,
//行政区编码必传
"110115"
,
//行政区编码必传
object
:
OnMSPoiSearchLis
{
object
:
OnPoiSearchLis
{
//实现搜索结果回调
override
fun
onPoiLis
(
override
fun
onPoiLis
(
poiList
:
List
<
PoiSearchRes
>
poiList
:
List
<
PoiSearchRes
>
)
{
)
{
...
@@ -84,7 +85,7 @@ class TPoiSearchActivity : AppCompatActivity() {
...
@@ -84,7 +85,7 @@ class TPoiSearchActivity : AppCompatActivity() {
39.977290
,
39.977290
,
116.337000
,
116.337000
,
binding
.
et1
.
text
.
toString
().
toInt
(),
//检索范围单位米
binding
.
et1
.
text
.
toString
().
toInt
(),
//检索范围单位米
object
:
On
MS
PoiSearchLis
{
object
:
OnPoiSearchLis
{
override
fun
onPoiLis
(
override
fun
onPoiLis
(
poiList
:
List
<
PoiSearchRes
>
poiList
:
List
<
PoiSearchRes
>
)
{
)
{
...
...
app/src/main/java/com/sd/demo/ui/TPolygonActivity.kt
View file @
ea79dc91
...
@@ -2,7 +2,7 @@ package com.sd.demo.ui
...
@@ -2,7 +2,7 @@ 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.cusc.map.map2d.cdata.LatLng
M
import
com.cusc.map.map2d.cdata.LatLng
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.map2d.DelDrawInMap
import
com.cusc.map.map2d.DelDrawInMap
import
com.cusc.map.map2d.cdata.MapOverlay
import
com.cusc.map.map2d.cdata.MapOverlay
...
@@ -34,9 +34,9 @@ class TPolygonActivity : AppCompatActivity() {
...
@@ -34,9 +34,9 @@ class TPolygonActivity : AppCompatActivity() {
this
@TPolygonActivity
.
mapReadView
=
mapReadyView
this
@TPolygonActivity
.
mapReadView
=
mapReadyView
// MSMethodAdv.setMapZoom(mapReadView, 9f)
// MSMethodAdv.setMapZoom(mapReadView, 9f)
//绘制一个多边形
//绘制一个多边形
var
mspLatLng
=
listOf
<
LatLng
M
>(
var
mspLatLng
=
listOf
<
LatLng
>(
LatLng
M
(
39.993391
,
116.135272
),
LatLng
M
(
39.808323
,
116.057604
),
LatLng
(
39.993391
,
116.135272
),
LatLng
(
39.808323
,
116.057604
),
LatLng
M
(
39.904430
,
116.265061
),
LatLng
M
(
39.950192
,
116.140002
)
LatLng
(
39.904430
,
116.265061
),
LatLng
(
39.950192
,
116.140002
)
)
)
//构造面参数
//构造面参数
var
msPolygonOptions
=
PolygonOptions
().
apply
{
var
msPolygonOptions
=
PolygonOptions
().
apply
{
...
...
mapapi/src/main/java/com/cusc/map/core/MShowMainCarModel.kt
View file @
ea79dc91
...
@@ -5,10 +5,10 @@ import android.util.Log
...
@@ -5,10 +5,10 @@ import android.util.Log
import
com.minedata.minenavi.map.Model
import
com.minedata.minenavi.map.Model
import
com.minedata.minenavi.map.ModelOptions
import
com.minedata.minenavi.map.ModelOptions
import
com.minedata.minenavi.map.Overlay
import
com.minedata.minenavi.map.Overlay
import
com.minedata.minenavi.mapdal.LatLng
import
com.minedata.minenavi.mapdal.LatLng
as
FLatLng
import
com.cusc.map.map2d.MAP_TYPE
import
com.cusc.map.map2d.MAP_TYPE
import
com.cusc.map.map2d.MapSdkInit
import
com.cusc.map.map2d.MapSdkInit
import
com.cusc.map.map2d.cdata.LatLng
M
import
com.cusc.map.map2d.cdata.LatLng
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.utils.SmoothMoveUtils
import
com.cusc.map.utils.SmoothMoveUtils
import
com.cusc.map.utils.FileIoUtils
import
com.cusc.map.utils.FileIoUtils
...
@@ -74,7 +74,7 @@ import java.io.IOException
...
@@ -74,7 +74,7 @@ import java.io.IOException
// 模型文件相对路径
// 模型文件相对路径
var
modelOptions
=
ModelOptions
()
var
modelOptions
=
ModelOptions
()
.
objFile
(
objPath
)
.
objFile
(
objPath
)
.
position
(
LatLng
(
lat
,
lng
))
.
position
(
F
LatLng
(
lat
,
lng
))
.
layer
(
Overlay
.
Layer
.
aboveMarker
)
.
layer
(
Overlay
.
Layer
.
aboveMarker
)
.
heading
(
heading
)
.
heading
(
heading
)
.
keepScaleSize
(
8f
)
// 保持尺寸的比例尺
.
keepScaleSize
(
8f
)
// 保持尺寸的比例尺
...
@@ -110,7 +110,7 @@ import java.io.IOException
...
@@ -110,7 +110,7 @@ import java.io.IOException
return
return
var
temp
=
0f
-
180f
-
heading
var
temp
=
0f
-
180f
-
heading
mainCarMo
?.
setPosition
(
LatLng
(
lat
,
lng
))
mainCarMo
?.
setPosition
(
F
LatLng
(
lat
,
lng
))
mainCarMo
?.
setHeading
(
temp
)
mainCarMo
?.
setHeading
(
temp
)
}
}
...
@@ -127,15 +127,15 @@ import java.io.IOException
...
@@ -127,15 +127,15 @@ import java.io.IOException
* @param durationMillis 动画时长默认1000L
* @param durationMillis 动画时长默认1000L
* **/
* **/
fun
upMyLocCarModelSmooth
(
fun
upMyLocCarModelSmooth
(
from
:
LatLng
M
,
from
:
LatLng
,
to
:
LatLng
M
,
to
:
LatLng
,
durationMillis
:
Long
=
1000L
durationMillis
:
Long
=
1000L
)
{
)
{
when
(
MapSdkInit
.
getMapType
())
{
when
(
MapSdkInit
.
getMapType
())
{
MAP_TYPE
.
MINE
->
{
MAP_TYPE
.
MINE
->
{
SmoothMoveUtils
.
startSmoothMove
(
SmoothMoveUtils
.
startSmoothMove
(
LatLng
(
from
.
lat
,
from
.
lng
),
F
LatLng
(
from
.
lat
,
from
.
lng
),
LatLng
(
from
.
lat
,
from
.
lng
),
F
LatLng
(
to
.
lat
,
to
.
lng
),
durationMillis
,
durationMillis
,
sCarSmooth
sCarSmooth
)
)
...
@@ -152,7 +152,7 @@ import java.io.IOException
...
@@ -152,7 +152,7 @@ import java.io.IOException
//在线地图主车平滑移动
//在线地图主车平滑移动
private
var
sCarSmooth
=
object
:
SmoothMoveUtils
.
OnPositionUpdateListener
{
private
var
sCarSmooth
=
object
:
SmoothMoveUtils
.
OnPositionUpdateListener
{
override
fun
onUpdate
(
override
fun
onUpdate
(
interpolatedLatLng
:
LatLng
,
interpolatedLatLng
:
F
LatLng
,
bearing
:
Float
bearing
:
Float
)
{
)
{
// var gcj = CoordinateTransform.wgs84ToGcj02(
// var gcj = CoordinateTransform.wgs84ToGcj02(
...
@@ -166,6 +166,7 @@ import java.io.IOException
...
@@ -166,6 +166,7 @@ import java.io.IOException
// )
// )
}
}
override
fun
onFinish
()
{
override
fun
onFinish
()
{
println
(
"--------------动画完成"
)
println
(
"--------------动画完成"
)
// carRoadVM.oldVeh = carRoadVM.eVehicle.value
// carRoadVM.oldVeh = carRoadVM.eVehicle.value
...
...
mapapi/src/main/java/com/cusc/map/fragments/PartRoadFragment.kt
View file @
ea79dc91
...
@@ -8,7 +8,7 @@ import androidx.fragment.app.Fragment
...
@@ -8,7 +8,7 @@ import androidx.fragment.app.Fragment
import
androidx.fragment.app.activityViewModels
import
androidx.fragment.app.activityViewModels
import
com.example.car_and_road_3d.CarAndRoadWebViewClient
import
com.example.car_and_road_3d.CarAndRoadWebViewClient
import
com.cusc.map.databinding.FragmentPartRoadBinding
import
com.cusc.map.databinding.FragmentPartRoadBinding
import
com.cusc.map.parkroad.ParkRoad
M
import
com.cusc.map.parkroad.ParkRoad
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.ui.MapReadyView
import
com.cusc.map.ui.MapView.OnMapReadyLis
import
com.cusc.map.ui.MapView.OnMapReadyLis
import
com.cusc.map.vms.CarRoadVM
import
com.cusc.map.vms.CarRoadVM
...
@@ -56,7 +56,7 @@ class PartRoadFragment : Fragment() {
...
@@ -56,7 +56,7 @@ class PartRoadFragment : Fragment() {
// }
// }
//初始化局部视图控制器
//初始化局部视图控制器
MapReadyView
.
instance
.
carRoadVM
=
carRoadVM
MapReadyView
.
instance
.
carRoadVM
=
carRoadVM
ParkRoad
M
.
setCarRoadVM
(
MapReadyView
.
instance
)
ParkRoad
.
setCarRoadVM
(
MapReadyView
.
instance
)
onMapReadyLis
?.
onMapReady
(
MapReadyView
.
instance
)
onMapReadyLis
?.
onMapReady
(
MapReadyView
.
instance
)
}
}
...
...
mapapi/src/main/java/com/cusc/map/location/Locat
ionM
.kt
→
mapapi/src/main/java/com/cusc/map/location/Locat
eMap
.kt
View file @
ea79dc91
...
@@ -7,7 +7,7 @@ import com.cusc.map.map2d.amap.AmapGpsLocation
...
@@ -7,7 +7,7 @@ import com.cusc.map.map2d.amap.AmapGpsLocation
/**
/**
* 定位类
* 定位类
*/
*/
object
Locat
ionM
{
object
Locat
eMap
{
fun
initLoc
(){
fun
initLoc
(){
when
(
MapSdkInit
.
getMapType
())
{
when
(
MapSdkInit
.
getMapType
())
{
...
...
mapapi/src/main/java/com/cusc/map/location/MineGpsLocation.kt
View file @
ea79dc91
...
@@ -69,7 +69,7 @@ internal object MineGpsLocation {
...
@@ -69,7 +69,7 @@ internal object MineGpsLocation {
accuracy
=
location
?.
accuracy
?:
0f
accuracy
=
location
?.
accuracy
?:
0f
altitude
=
location
?.
altitude
?:
0.0
altitude
=
location
?.
altitude
?:
0.0
}
}
onMsGpsLoc
?.
on
Ms
GpsLoc
(
loc
)
onMsGpsLoc
?.
onGpsLoc
(
loc
)
}
}
override
fun
onStatusChanged
(
provider
:
String
?,
status
:
Int
,
extras
:
Bundle
?)
{
override
fun
onStatusChanged
(
provider
:
String
?,
status
:
Int
,
extras
:
Bundle
?)
{
...
...
mapapi/src/main/java/com/cusc/map/location/OnGpsLoc.kt
View file @
ea79dc91
...
@@ -2,5 +2,5 @@ package com.cusc.map.location
...
@@ -2,5 +2,5 @@ package com.cusc.map.location
/**业务层Gps定位回调接口**/
/**业务层Gps定位回调接口**/
interface
OnGpsLoc
{
interface
OnGpsLoc
{
fun
on
Ms
GpsLoc
(
mSLocBean
:
LocCbM
)
fun
onGpsLoc
(
mSLocBean
:
LocCbM
)
}
}
\ No newline at end of file
mapapi/src/main/java/com/cusc/map/map2d/CalcuMapUtil.kt
View file @
ea79dc91
...
@@ -2,8 +2,8 @@ package com.cusc.map.map2d
...
@@ -2,8 +2,8 @@ package com.cusc.map.map2d
import
android.location.Location
import
android.location.Location
import
com.amap.api.maps.AMapUtils
import
com.amap.api.maps.AMapUtils
import
com.amap.api.maps.model.LatLng
import
com.amap.api.maps.model.LatLng
as
ALatLng
import
com.cusc.map.map2d.cdata.LatLng
M
import
com.cusc.map.map2d.cdata.LatLng
import
kotlin.math.atan2
import
kotlin.math.atan2
import
kotlin.math.cos
import
kotlin.math.cos
import
kotlin.math.sin
import
kotlin.math.sin
...
@@ -20,8 +20,8 @@ object CalcuMapUtil {
...
@@ -20,8 +20,8 @@ object CalcuMapUtil {
* @return 返回两点间距离,单位为米
* @return 返回两点间距离,单位为米
*/
*/
fun
calculateLineDistance
(
fun
calculateLineDistance
(
latLng1
:
LatLng
M
,
latLng1
:
LatLng
,
latLng2
:
LatLng
M
latLng2
:
LatLng
):
Float
{
):
Float
{
// 根据不同的地图类型选择相应的距离计算方法
// 根据不同的地图类型选择相应的距离计算方法
when
(
MapSdkInit
.
getMapType
())
{
when
(
MapSdkInit
.
getMapType
())
{
...
@@ -40,8 +40,8 @@ object CalcuMapUtil {
...
@@ -40,8 +40,8 @@ object CalcuMapUtil {
MAP_TYPE
.
AMAP
->
{
MAP_TYPE
.
AMAP
->
{
// 使用高德地图工具类计算两点间距离
// 使用高德地图工具类计算两点间距离
val
latlngA
=
LatLng
(
latLng1
.
lat
,
latLng1
.
lng
)
val
latlngA
=
A
LatLng
(
latLng1
.
lat
,
latLng1
.
lng
)
val
latlngB
=
LatLng
(
latLng2
.
lat
,
latLng2
.
lng
)
val
latlngB
=
A
LatLng
(
latLng2
.
lat
,
latLng2
.
lng
)
val
distance
=
AMapUtils
.
calculateLineDistance
(
latlngA
,
latlngB
)
val
distance
=
AMapUtils
.
calculateLineDistance
(
latlngA
,
latlngB
)
return
distance
return
distance
}
}
...
@@ -56,8 +56,8 @@ object CalcuMapUtil {
...
@@ -56,8 +56,8 @@ object CalcuMapUtil {
* @return 矩形面积,单位为平方米
* @return 矩形面积,单位为平方米
*/
*/
fun
calculateArea
(
fun
calculateArea
(
latLng1
:
LatLng
M
,
latLng1
:
com
.
cusc
.
map
.
map2d
.
cdata
.
LatLng
,
latLng2
:
LatLng
M
latLng2
:
com
.
cusc
.
map
.
map2d
.
cdata
.
LatLng
):
Float
{
):
Float
{
// 根据不同地图类型进行面积计算
// 根据不同地图类型进行面积计算
when
(
MapSdkInit
.
getMapType
())
{
when
(
MapSdkInit
.
getMapType
())
{
...
@@ -66,8 +66,8 @@ object CalcuMapUtil {
...
@@ -66,8 +66,8 @@ object CalcuMapUtil {
}
}
MAP_TYPE
.
AMAP
->
{
MAP_TYPE
.
AMAP
->
{
val
leftTopLatlng
=
LatLng
(
latLng1
.
lat
,
latLng1
.
lng
)
val
leftTopLatlng
=
A
LatLng
(
latLng1
.
lat
,
latLng1
.
lng
)
val
rightBottomLatlng
=
LatLng
(
latLng2
.
lat
,
latLng2
.
lng
)
val
rightBottomLatlng
=
A
LatLng
(
latLng2
.
lat
,
latLng2
.
lng
)
val
area
=
AMapUtils
.
calculateArea
(
leftTopLatlng
,
rightBottomLatlng
)
val
area
=
AMapUtils
.
calculateArea
(
leftTopLatlng
,
rightBottomLatlng
)
return
area
return
area
}
}
...
@@ -82,8 +82,8 @@ object CalcuMapUtil {
...
@@ -82,8 +82,8 @@ object CalcuMapUtil {
* @return 航向角(度),范围 0-360
* @return 航向角(度),范围 0-360
*/
*/
fun
calculateBearing
(
fun
calculateBearing
(
fromPoint
:
LatLng
M
,
fromPoint
:
com
.
cusc
.
map
.
map2d
.
cdata
.
LatLng
,
toPoint
:
LatLng
M
toPoint
:
com
.
cusc
.
map
.
map2d
.
cdata
.
LatLng
):
Double
{
):
Double
{
return
calculateBearing
(
return
calculateBearing
(
fromPoint
.
lng
,
fromPoint
.
lat
,
fromPoint
.
lng
,
fromPoint
.
lat
,
...
...
Prev
1
2
3
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