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