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
SuZhouAvp
Commits
95b6efec
Commit
95b6efec
authored
Oct 22, 2025
by
p x
Browse files
模拟泊车路径
parent
374a24ad
Changes
11
Show whitespace changes
Inline
Side-by-side
app/src/main/assets/mock/parkpath.txt
0 → 100644
View file @
95b6efec
{
"code": "1",
"msg": "执行成功",
"result": {
"vehicleId": "9",
"parkingPlaceId": "421",
"routes": [
{
"routeId": 1,
"origin": [
116.50254394816011,
39.809039362307594
],
"destination": [
116.50257504818846,
39.80900097735677
],
"gear": 3,
"polyline": [
[
116.50254394816011,
39.809039362307594,
0.5,
148.10218269263586
],
[
116.50254457016067,
39.80903859460858,
0.5,
148.10218229911192
],
[
116.50254519216124,
39.80903782690956,
0.5,
148.1021822250557
],
[
116.5025458141618,
39.80903705921054,
0.5,
148.10218183153174
],
[
116.50254643616238,
39.80903629151153,
0.5,
148.10218154449709
],
[
116.50254705816295,
39.80903552381251,
0.5,
148.10218115097314
],
[
116.50254768016352,
39.8090347561135,
0.5,
148.10218086393846
],
[
116.50254830216409,
39.809033988414484,
0.5,
148.10218194783928
],
[
116.50254892416464,
39.809033220715456,
0.5,
148.10217902542288
],
[
116.50254954616523,
39.80903245301645,
0.5,
148.10218126728074
],
[
116.50255016816578,
39.80903168531743,
0.5,
148.10218076726758
],
[
116.50255079016634,
39.809030917618415,
0.5,
148.10217964174365
],
[
116.50255141216691,
39.809030149919394,
0.5,
148.10217924821978
],
[
116.50255203416748,
39.80902938222038,
0.5,
148.10217885469592
],
[
116.50255265616805,
39.80902861452137,
0.5,
148.10217878063978
],
[
116.50255327816862,
39.809027846822346,
0.5,
148.10217943858373
],
[
116.50255390016918,
39.809027079123325,
0.5,
148.10217788710278
],
[
116.50255452216973,
39.80902631142431,
0.5,
148.1021780260252
],
[
116.50255514417032,
39.8090255437253,
0.5,
148.1021773130336
],
[
116.50255576617087,
39.80902477602628,
0.5,
148.1021772389775
],
[
116.50255638817144,
39.80902400832726,
0.5,
148.1021769519429
],
[
116.50255701017201,
39.80902324062825,
0.5,
148.10217677139758
],
[
116.5025576321726,
39.80902247292923,
0.5,
148.10217637787377
],
[
116.50255825417315,
39.809021705230215,
0.5,
148.10217598434994
],
[
116.50255887617372,
39.8090209375312,
0.5,
148.10217601678315
],
[
116.50255949817429,
39.80902016983218,
0.5,
148.10217635525942
],
[
116.50256012017485,
39.80901940213316,
0.5,
148.1021741782677
],
[
116.50256074217543,
39.80901863443415,
0.5,
148.10217620714738
],
[
116.50256136417599,
39.80901786673513,
0.5,
148.10217465566646
],
[
116.50256198617654,
39.80901709903611,
0.5,
148.10217426214265
],
[
116.50256260817713,
39.8090163313371,
0.5,
148.10217502657602
],
[
116.50256323017769,
39.809015563638084,
0.5,
148.10217400754144
],
[
116.50256385217826,
39.80901479593906,
0.5,
148.1021734010391
],
[
116.50256447417883,
39.80901402824005,
0.5,
148.10217300751535
],
[
116.50256509617938,
39.809013260541036,
0.5,
148.10217293345937
],
[
116.50256571817995,
39.809012492842015,
0.5,
148.10217264642492
],
[
116.50256634018052,
39.809011725143,
0.5,
148.1021734108583
],
[
116.50256696218108,
39.80901095744399,
0.5,
148.10217207235593
],
[
116.50256758418166,
39.80901018974497,
0.5,
148.10217210478928
],
[
116.50256820618223,
39.809009422045946,
0.5,
148.1021711788192
],
[
116.50256882818279,
39.80900865434693,
0.5,
148.10217121125254
],
[
116.50256945018336,
39.80900788664792,
0.5,
148.10217071123955
],
[
116.50257007218393,
39.809007118948905,
0.5,
148.10217127611924
],
[
116.50257069418448,
39.80900635124988,
0.5,
148.10217024365994
],
[
116.50257131618505,
39.809005583550864,
0.5,
148.10216995662552
],
[
116.50257193818562,
39.80900481585185,
0.5,
148.10216988256963
],
[
116.5025725601862,
39.80900404815283,
0.5,
148.10216948904593
],
[
116.50257318218677,
39.809003280453815,
0.5,
148.10216898903298
],
[
116.50257380418734,
39.8090025127548,
0.5,
148.10217017942364
],
[
116.50257442618789,
39.80900174505578,
0.5,
148.10216841496418
],
[
116.50257504818846,
39.80900097735677,
0.5,
148.10216841496418
]
]
},
{
"routeId": 2,
"origin": [
116.50257504818846,
39.80900097735677
],
"destination": [
116.5024625,
39.8090317
],
"gear": 1,
"polyline": [
[
116.50257504818846,
39.80900097735677,
0.5,
150.47794433755706
],
[
116.50257218918523,
39.80900485570903,
0.5,
154.27310728039356
],
[
116.5025697015945,
39.80900882155232,
0.5,
156.67295798187433
],
[
116.50256745223952,
39.80901282852125,
0.5,
157.8133738046629
],
[
116.50256532727003,
39.80901683117987,
0.5,
157.84012669821846
],
[
116.50256323087986,
39.80902078528453,
0.5,
156.88041033745833
],
[
116.50256108403372,
39.80902464804938,
0.5,
155.0349202584366
],
[
116.50255882320319,
39.80902837841471,
0.5,
152.37984099954474
],
[
116.50255639911234,
39.809031937318096,
0.5,
148.9730402515233
],
[
116.50255377549128,
39.80903528796794,
0.5,
144.86214711490197
],
[
116.50255092784093,
39.8090383961204,
0.5,
140.09356276594684
],
[
116.50254784220454,
39.80904123035833,
0.5,
134.7219998248488
],
[
116.50254451395082,
39.8090437623737,
0.5,
128.81951628621687
],
[
116.5025409465643,
39.80904596725211,
0.5,
122.48239643592717
],
[
116.50253715044603,
39.809047823760544,
0.5,
115.83350619337386
],
[
116.50253314172312,
39.80904931463762,
0.5,
109.01823320278112
],
[
116.50252894106745,
39.809050426886664,
0.5,
102.19391587555128
],
[
116.50252457252354,
39.80905115207155,
0.5,
95.5153521727076
],
[
116.50252006234572,
39.80905148661524,
0.5,
89.12084176468869
],
[
116.50251543784445,
39.80905143210117,
0.5,
83.12290608687363
],
[
116.50251072624177,
39.80905099557725,
0.5,
77.60560229976858
],
[
116.5025059535361,
39.80905018986276,
0.5,
72.62772394588927
],
[
116.50250114337594,
39.80904903385788,
0.5,
68.22973689932553
],
[
116.50249631594309,
39.80904755285604,
0.5,
64.44221270751927
],
[
116.50249148684485,
39.80904577885904,
0.5,
61.29429364132028
],
[
116.50248666601549,
39.8090437508948,
0.5,
58.821619453979906
],
[
116.50248185662682,
39.80904151533802,
0.5,
57.07376338261474
],
[
116.50247705400817,
39.809039126233515,
0.5,
56.12142584978807
],
[
116.50247224457523,
39.80903664562224,
0.5,
56.063314828195246
],
[
116.50246740476837,
39.8090341438702,
0.5,
57.03146193036804
],
[
116.5024625,
39.8090317,
0.5,
57.03146193036804
]
]
}
],
"points": null,
"execType": null,
"execTypeDesc": null,
"vehicleInfo": null,
"time": null,
"parkingPlace": null
}
}
\ No newline at end of file
app/src/main/java/com/sd/cavphmi/bean/mock/ParkPath.kt
0 → 100644
View file @
95b6efec
package
com.sd.cavphmi.bean.mock
//模拟倒车路径
data class
ParkPath
(
val
code
:
String
,
val
msg
:
String
,
val
result
:
PResult
)
data class
PResult
(
val
execType
:
Any
,
val
execTypeDesc
:
Any
,
val
parkingPlace
:
Any
,
val
parkingPlaceId
:
String
,
val
points
:
Any
,
val
routes
:
List
<
PRoute
>,
val
time
:
Any
,
val
vehicleId
:
String
,
val
vehicleInfo
:
Any
)
data class
PRoute
(
val
destination
:
List
<
Double
>,
val
gear
:
Int
,
//3=前进 1=后退
val
origin
:
List
<
Double
>,
val
polyline
:
List
<
List
<
Double
>>,
val
routeId
:
Int
)
\ No newline at end of file
app/src/main/java/com/sd/cavphmi/highmap/HighMapApi.kt
View file @
95b6efec
...
@@ -119,7 +119,7 @@ object HighMapApi {
...
@@ -119,7 +119,7 @@ object HighMapApi {
/**
/**
* 设置相机角度
* 设置相机角度
*/
*/
fun
set
Set
CameraAngle
(
angle
:
Float
=
30f
)
{
fun
setCameraAngle
(
angle
:
Float
=
30f
)
{
UnityPlayer
.
UnitySendMessage
(
MODELNAME
,
"SetCameraAngle"
,
"$angle"
)
UnityPlayer
.
UnitySendMessage
(
MODELNAME
,
"SetCameraAngle"
,
"$angle"
)
}
}
...
@@ -160,7 +160,7 @@ object HighMapApi {
...
@@ -160,7 +160,7 @@ object HighMapApi {
var
parkComplete
=
ParkComplete
().
apply
{
var
parkComplete
=
ParkComplete
().
apply
{
this
.
complete
=
complete
this
.
complete
=
complete
}
}
UnityPlayer
.
UnitySendMessage
(
MODELNAME
,
"SetPark
ing
"
,
gson
.
toJson
(
parkComplete
))
UnityPlayer
.
UnitySendMessage
(
MODELNAME
,
"SetPark
Complete
"
,
gson
.
toJson
(
parkComplete
))
}
}
// 设置地锁状态
// 设置地锁状态
...
...
app/src/main/java/com/sd/cavphmi/highmap/TileJsonBean.kt
View file @
95b6efec
app/src/main/java/com/sd/cavphmi/ui/LoginActivity.kt
View file @
95b6efec
...
@@ -55,6 +55,7 @@ class LoginActivity : AppCompatActivity() {
...
@@ -55,6 +55,7 @@ class LoginActivity : AppCompatActivity() {
//直接到首页
//直接到首页
binding
.
btMain
.
setOnClickListener
{
binding
.
btMain
.
setOnClickListener
{
startActivity
(
Intent
(
this
,
MainActivity
::
class
.
java
))
startActivity
(
Intent
(
this
,
MainActivity
::
class
.
java
))
finish
()
}
}
}
}
...
...
app/src/main/java/com/sd/cavphmi/ui/MainActivity.kt
View file @
95b6efec
...
@@ -142,7 +142,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>() {
...
@@ -142,7 +142,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>() {
// mineMap?.enableSatelliteLayer(true)
// mineMap?.enableSatelliteLayer(true)
mainVm
.
mMineMap
=
mineMap
mainVm
.
mMineMap
=
mineMap
mockVM
.
mMineMap
=
mineMap
mockVM
.
mMineMap
=
mineMap
mineMap
?.
setZoomLevel
(
1
2
f
)
mineMap
?.
setZoomLevel
(
1
4
f
)
//设置中心点
//设置中心点
val
point
=
Tools
.
latLngToPoint
(
LatLng
(
39.80913878
,
116.50166926
))
val
point
=
Tools
.
latLngToPoint
(
LatLng
(
39.80913878
,
116.50166926
))
mineMap
?.
setPointToCenter
(
point
.
x
,
point
.
y
)
mineMap
?.
setPointToCenter
(
point
.
x
,
point
.
y
)
...
@@ -283,7 +283,6 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>() {
...
@@ -283,7 +283,6 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>() {
}
}
}
}
private
fun
mockBt
()
{
private
fun
mockBt
()
{
//获取AVP状态
//获取AVP状态
binding
.
btAvpStatu
.
setOnClickListener
{
binding
.
btAvpStatu
.
setOnClickListener
{
...
@@ -303,6 +302,9 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>() {
...
@@ -303,6 +302,9 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>() {
}
}
//车位四周流光
//车位四周流光
binding
.
btParkround
.
setOnClickListener
{
binding
.
btParkround
.
setOnClickListener
{
HighMapApi
.
setCameraAngle
(
75f
)
lifecycleScope
.
launch
{
lifecycleScope
.
launch
{
HighMapApi
.
parkRoundLight
(
"B021"
)
HighMapApi
.
parkRoundLight
(
"B021"
)
delay
(
5000
)
delay
(
5000
)
...
@@ -324,17 +326,17 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>() {
...
@@ -324,17 +326,17 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>() {
binding
.
btLock
.
setOnClickListener
{
binding
.
btLock
.
setOnClickListener
{
var
lockStatu
=
LockStatu
().
apply
{
var
lockStatu
=
LockStatu
().
apply
{
code
=
"B021"
code
=
"B021"
up
=
tru
e
isHide
=
fals
e
}
}
HighMapApi
.
setLockStatus
(
lockStatu
)
HighMapApi
.
setLockStatus
(
lockStatu
)
lifecycleScope
.
launch
{
/*
lifecycleScope.launch {
delay(3000)
delay(3000)
lockStatu.up = false
lockStatu.up = false
HighMapApi.setLockStatus(lockStatu)
HighMapApi.setLockStatus(lockStatu)
delay(3000)
delay(3000)
lockStatu.isHide = true
lockStatu.isHide = true
HighMapApi.setLockStatus(lockStatu)
HighMapApi.setLockStatus(lockStatu)
}
}
*/
}
}
//模拟移动
//模拟移动
// binding.btMove.setOnClickListener {
// binding.btMove.setOnClickListener {
...
...
app/src/main/java/com/sd/cavphmi/ui/fragment/UnityFragment.kt
View file @
95b6efec
...
@@ -11,7 +11,6 @@ import androidx.fragment.app.activityViewModels
...
@@ -11,7 +11,6 @@ import androidx.fragment.app.activityViewModels
import
com.sd.cavphmi.viewmodels.UnityMapVm
import
com.sd.cavphmi.viewmodels.UnityMapVm
import
com.unity3d.player.IUnityPlayerLifecycleEvents
import
com.unity3d.player.IUnityPlayerLifecycleEvents
import
com.unity3d.player.UnityPlayer
import
com.unity3d.player.UnityPlayer
import
kotlin.getValue
/**
/**
...
@@ -46,7 +45,7 @@ class UnityFragment : Fragment(), IUnityPlayerLifecycleEvents {
...
@@ -46,7 +45,7 @@ class UnityFragment : Fragment(), IUnityPlayerLifecycleEvents {
super
.
onDestroy
()
super
.
onDestroy
()
try
{
try
{
this
.
mUnityPlayer
.
destroy
()
this
.
mUnityPlayer
.
destroy
()
}
catch
(
e
:
Exception
){
}
catch
(
e
:
Exception
)
{
}
}
}
}
...
@@ -82,13 +81,14 @@ class UnityFragment : Fragment(), IUnityPlayerLifecycleEvents {
...
@@ -82,13 +81,14 @@ class UnityFragment : Fragment(), IUnityPlayerLifecycleEvents {
// UnityPlayer 实例
// UnityPlayer 实例
private
lateinit
var
mUnityPlayer
:
UnityPlayer
private
lateinit
var
mUnityPlayer
:
UnityPlayer
//UNITY map 控制类
//UNITY map 控制类
private
val
unityMapVm
:
UnityMapVm
by
activityViewModels
()
private
val
unityMapVm
:
UnityMapVm
by
activityViewModels
()
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
super
.
onCreate
(
savedInstanceState
)
mUnityPlayer
=
UnityPlayer
(
requireContext
(),
this
)
mUnityPlayer
=
UnityPlayer
(
requireContext
(),
this
)
}
}
override
fun
onViewCreated
(
view
:
View
,
savedInstanceState
:
Bundle
?)
{
override
fun
onViewCreated
(
view
:
View
,
savedInstanceState
:
Bundle
?)
{
...
@@ -97,7 +97,12 @@ class UnityFragment : Fragment(), IUnityPlayerLifecycleEvents {
...
@@ -97,7 +97,12 @@ class UnityFragment : Fragment(), IUnityPlayerLifecycleEvents {
mUnityPlayer
.
windowFocusChanged
(
true
)
mUnityPlayer
.
windowFocusChanged
(
true
)
// mUnityPlayer.requestFocus()
// mUnityPlayer.requestFocus()
//使用拼接服务器资源加载地图
//使用拼接服务器资源加载地图
mUnityPlayer
.
post
{
try
{
unityMapVm
.
loadTileJson
()
unityMapVm
.
loadTileJson
()
}
catch
(
e
:
Exception
)
{
}
}
}
}
...
...
app/src/main/java/com/sd/cavphmi/utils/FileIoUtils.kt
View file @
95b6efec
...
@@ -78,7 +78,7 @@ object FileIoUtils {
...
@@ -78,7 +78,7 @@ object FileIoUtils {
/**
/**
* 读取asset 文件
* 读取asset 文件
*/
*/
fun
getAsset
(
context
:
Context
,
fileName
:
String
):
String
{
suspend
fun
getAsset
(
context
:
Context
,
fileName
:
String
):
String
{
val
assetManager
=
context
.
assets
val
assetManager
=
context
.
assets
var
inputStream
:
InputStream
?
=
null
var
inputStream
:
InputStream
?
=
null
var
str
=
""
var
str
=
""
...
...
app/src/main/java/com/sd/cavphmi/viewmodels/MockVM.kt
View file @
95b6efec
...
@@ -2,7 +2,6 @@ package com.sd.cavphmi.viewmodels
...
@@ -2,7 +2,6 @@ package com.sd.cavphmi.viewmodels
import
android.content.Context
import
android.content.Context
import
android.graphics.BitmapFactory
import
android.graphics.BitmapFactory
import
android.graphics.Color
import
android.graphics.Point
import
android.graphics.Point
import
androidx.lifecycle.MutableLiveData
import
androidx.lifecycle.MutableLiveData
import
androidx.lifecycle.ViewModel
import
androidx.lifecycle.ViewModel
...
@@ -14,7 +13,6 @@ import com.minedata.minenavi.map.MineMap
...
@@ -14,7 +13,6 @@ import com.minedata.minenavi.map.MineMap
import
com.minedata.minenavi.map.MyLocationStyle
import
com.minedata.minenavi.map.MyLocationStyle
import
com.minedata.minenavi.map.Overlay
import
com.minedata.minenavi.map.Overlay
import
com.minedata.minenavi.map.Polyline
import
com.minedata.minenavi.map.Polyline
import
com.minedata.minenavi.map.PolylineOptions
import
com.minedata.minenavi.mapdal.LatLng
import
com.minedata.minenavi.mapdal.LatLng
import
com.minedata.minenavi.mapdal.NativeEnv
import
com.minedata.minenavi.mapdal.NativeEnv
import
com.minedata.minenavi.mapdal.NdsPoint
import
com.minedata.minenavi.mapdal.NdsPoint
...
@@ -25,10 +23,12 @@ import com.sd.cavphmi.bean.CarVehicleItem
...
@@ -25,10 +23,12 @@ import com.sd.cavphmi.bean.CarVehicleItem
import
com.sd.cavphmi.bean.PerceptionBean
import
com.sd.cavphmi.bean.PerceptionBean
import
com.sd.cavphmi.bean.V2xStartBean
import
com.sd.cavphmi.bean.V2xStartBean
import
com.sd.cavphmi.bean.mock.MRoutes
import
com.sd.cavphmi.bean.mock.MRoutes
import
com.sd.cavphmi.bean.mock.ParkPath
import
com.sd.cavphmi.highmap.AllLine
import
com.sd.cavphmi.highmap.AllLine
import
com.sd.cavphmi.highmap.HighMapApi
import
com.sd.cavphmi.highmap.HighMapApi
import
com.sd.cavphmi.highmap.LockStatu
import
com.sd.cavphmi.highmap.LockStatu
import
com.sd.cavphmi.highmap.ParkStatu
import
com.sd.cavphmi.highmap.ParkStatu
import
com.sd.cavphmi.highmap.ReverCar
import
com.sd.cavphmi.highmap.Spinfo
import
com.sd.cavphmi.highmap.Spinfo
import
com.sd.cavphmi.utils.FileIoUtils
import
com.sd.cavphmi.utils.FileIoUtils
import
com.sd.cavphmi.utils.MyMapUtils
import
com.sd.cavphmi.utils.MyMapUtils
...
@@ -66,7 +66,10 @@ class MockVM @Inject constructor(
...
@@ -66,7 +66,10 @@ class MockVM @Inject constructor(
fun
onVehicleMock
(
fun
onVehicleMock
(
carVehicle
:
MutableLiveData
<
CarVehicle
>
carVehicle
:
MutableLiveData
<
CarVehicle
>
)
{
)
{
HighMapApi
.
setCameraAngle
(
30f
)
viewModelScope
.
launch
{
viewModelScope
.
launch
{
var
cCar
:
CarVehicleItem
?
=
null
var
gson
=
Gson
()
var
gson
=
Gson
()
var
str
=
var
str
=
FileIoUtils
.
getAsset
(
context
,
"mock/Car_fangzhen.txt"
)
//Qgis里取的点和四维取得点混合
FileIoUtils
.
getAsset
(
context
,
"mock/Car_fangzhen.txt"
)
//Qgis里取的点和四维取得点混合
...
@@ -83,13 +86,13 @@ class MockVM @Inject constructor(
...
@@ -83,13 +86,13 @@ class MockVM @Inject constructor(
}
}
HighMapApi
.
setCarNavPath
(
lines
,
showdistance
=
200
)
HighMapApi
.
setCarNavPath
(
lines
,
showdistance
=
200
)
//开启流光效果
//开启流光效果
HighMapApi
.
parkRoundLight
(
"B0
2
1"
)
HighMapApi
.
parkRoundLight
(
"B01
7
"
)
//2旁车辆占用
//2旁车辆占用
var
spinfos
=
listOf
(
Spinfo
().
apply
{
var
spinfos
=
listOf
(
Spinfo
().
apply
{
code
=
"B0
20
"
code
=
"B0
16
"
state
=
true
state
=
true
},
Spinfo
().
apply
{
},
Spinfo
().
apply
{
code
=
"B0
22
"
code
=
"B0
18
"
state
=
true
state
=
true
})
})
HighMapApi
.
setParkStatu
(
ParkStatu
(
spinfos
))
HighMapApi
.
setParkStatu
(
ParkStatu
(
spinfos
))
...
@@ -106,7 +109,7 @@ class MockVM @Inject constructor(
...
@@ -106,7 +109,7 @@ class MockVM @Inject constructor(
LatLng
(
pc
[
1
],
pc
[
0
])
LatLng
(
pc
[
1
],
pc
[
0
])
)
)
}
}
var
cCar
=
CarVehicleItem
().
apply
{
cCar
=
CarVehicleItem
().
apply
{
if
((
head
-
oldHead
).
absoluteValue
<
45
)
{
if
((
head
-
oldHead
).
absoluteValue
<
45
)
{
this
.
heading
=
head
this
.
heading
=
head
}
}
...
@@ -128,17 +131,83 @@ class MockVM @Inject constructor(
...
@@ -128,17 +131,83 @@ class MockVM @Inject constructor(
upSmallLine
(
index
,
mRoutes
)
upSmallLine
(
index
,
mRoutes
)
delay
(
300
)
delay
(
300
)
}
}
//地锁绘制
var
lockStatu
=
LockStatu
().
apply
{
code
=
"B021"
up
=
false
}
HighMapApi
.
setLockStatus
(
lockStatu
)
delay
(
5000
)
lockStatu
.
isHide
=
true
HighMapApi
.
setLockStatus
(
lockStatu
)
//消除全局路径
//消除全局路径
HighMapApi
.
setCarNavPath
(
listOf
())
HighMapApi
.
setCarNavPath
(
listOf
())
//删除终点mark
deleteEndMarker
()
//删除导航小地图小车
// deleteNavingCar()
//地锁绘制(升起)
// var lockStatu = LockStatu().apply {
// code = "B017"
// up = false
// }
// HighMapApi.setLockStatus(lockStatu)
//开始泊车
var
parkStr
=
FileIoUtils
.
getAsset
(
context
,
"mock/parkpath.txt"
)
//Qgis里取的点和四维取得点混合
val
parkPath
=
gson
.
fromJson
<
ParkPath
>(
parkStr
,
ParkPath
::
class
.
java
)
//改变镜头角度
HighMapApi
.
setCameraAngle
(
60f
)
//前进
var
forword
=
parkPath
.
result
.
routes
.
find
{
it
.
gear
==
3
}
forword
?.
polyline
?.
forEach
{
poly
->
cCar
=
CarVehicleItem
().
apply
{
latitude
=
poly
.
get
(
1
)
longitude
=
poly
.
get
(
0
)
heading
=
poly
.
get
(
3
)
}
var
carV
=
CarVehicle
().
apply
{
add
(
cCar
)
}
//更新主车位置
carVehicle
.
value
=
carV
//更新小地图小车
showNavingCarPosition
(
Tools
.
latLngToNdsPoint
(
LatLng
(
cCar
.
latitude
,
cCar
.
longitude
)),
cCar
.
heading
.
toFloat
()
)
delay
(
300
)
}
//绘制倒车路径
var
reverCar
=
ReverCar
().
apply
{
this
.
cenLat
=
39.80903159
this
.
cenLng
=
116.50246079
this
.
code
=
"B017"
}
HighMapApi
.
setParkRever
(
reverCar
)
//改变镜头角度
HighMapApi
.
setCameraAngle
(
90f
)
//开始后退
var
fBack
=
parkPath
.
result
.
routes
.
find
{
it
.
gear
==
1
}
fBack
?.
polyline
?.
forEach
{
poly
->
cCar
=
CarVehicleItem
().
apply
{
latitude
=
poly
.
get
(
1
)
longitude
=
poly
.
get
(
0
)
heading
=
poly
.
get
(
3
)
}
var
carV
=
CarVehicle
().
apply
{
add
(
cCar
)
}
//更新主车位置
carVehicle
.
value
=
carV
//更新小地图小车
showNavingCarPosition
(
Tools
.
latLngToNdsPoint
(
LatLng
(
cCar
.
latitude
,
cCar
.
longitude
)),
cCar
.
heading
.
toFloat
()
)
delay
(
300
)
}
delay
(
3000
)
//删除导航小地图小车
deleteNavingCar
()
//关闭流光效果
HighMapApi
.
parkRoundLight
(
""
)
//结束泊车
HighMapApi
.
setParkComplete
(
true
)
//降地锁
// lockStatu.up = false
// HighMapApi.setLockStatus(lockStatu)
//
}
}
}
}
...
@@ -180,7 +249,7 @@ class MockVM @Inject constructor(
...
@@ -180,7 +249,7 @@ class MockVM @Inject constructor(
fun
addEndMarker
(
fun
addEndMarker
(
mEndPoint
:
LatLng
mEndPoint
:
LatLng
)
{
)
{
//删除
起
终点marker
//删除终点marker
deleteEndMarker
()
deleteEndMarker
()
val
end_icon
=
BitmapFactory
.
decodeResource
(
context
.
resources
,
R
.
drawable
.
plan_end
)
val
end_icon
=
BitmapFactory
.
decodeResource
(
context
.
resources
,
R
.
drawable
.
plan_end
)
// var endlatLng = Tools.pointToLatLng(mEndPoint)
// var endlatLng = Tools.pointToLatLng(mEndPoint)
...
@@ -189,11 +258,13 @@ class MockVM @Inject constructor(
...
@@ -189,11 +258,13 @@ class MockVM @Inject constructor(
)
)
}
}
private
var
mSmallMapCar
:
MyLocationStyle
?
=
null
private
var
mSmallMapCar
:
MyLocationStyle
?
=
null
//画小地图小车
//画小地图小车
fun
drawNavingCar
(
point
:
Point
)
{
fun
drawNavingCar
(
point
:
Point
)
{
if
(
mSmallMapCar
==
null
)
{
if
(
mSmallMapCar
==
null
)
{
// mSmallMapCar = MyLocationStyle(R.drawable.angle_blue, true)
mSmallMapCar
=
MyLocationStyle
(
"res/icons/carIconInSmallMap.png"
,
true
)
mSmallMapCar
=
MyLocationStyle
(
"res/icons/carIconInSmallMap.png"
,
true
)
mSmallMapCar
?.
myLocationType
(
MyLocationStyle
.
LOCATION_TYPE_EXTERNAL
)
mSmallMapCar
?.
myLocationType
(
MyLocationStyle
.
LOCATION_TYPE_EXTERNAL
)
val
scaleFactor
=
-
val
scaleFactor
=
-
...
...
app/src/main/res/drawable/rect_white_small_map_4.xml
0 → 100644
View file @
95b6efec
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<corners
android:radius=
"4dp"
/>
<stroke
android:width=
"3dp"
android:color=
"@color/white"
/>
</shape>
\ No newline at end of file
app/src/main/res/layout/activity_main.xml
View file @
95b6efec
...
@@ -106,7 +106,7 @@
...
@@ -106,7 +106,7 @@
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"地锁绘制"
android:text=
"地锁绘制"
android:visibility=
"
gon
e"
/>
android:visibility=
"
visibl
e"
/>
<!-- <Button-->
<!-- <Button-->
<!-- android:id="@+id/bt_move"-->
<!-- android:id="@+id/bt_move"-->
...
@@ -138,15 +138,25 @@
...
@@ -138,15 +138,25 @@
android:layout_marginBottom=
"10dp"
android:layout_marginBottom=
"10dp"
android:background=
"@drawable/rect_no_col_10"
/>
android:background=
"@drawable/rect_no_col_10"
/>
<!-- 小地图-->
<com.minedata.minenavi.map.MapView
<FrameLayout
android:id=
"@+id/mapView"
android:layout_width=
"@dimen/small_map_width"
android:layout_width=
"@dimen/small_map_width"
android:layout_height=
"@dimen/small_map_height"
android:layout_height=
"@dimen/small_map_height"
android:layout_alignParentEnd=
"true"
android:layout_alignParentEnd=
"true"
android:layout_alignParentBottom=
"true"
android:layout_alignParentBottom=
"true"
android:layout_marginRight=
"@dimen/dp_10"
android:layout_marginEnd=
"@dimen/dp_10"
android:layout_marginBottom=
"10dp"
/>
android:layout_marginBottom=
"@dimen/dp_10"
android:background=
"@drawable/rect_white_small_map_4"
android:padding=
"3dp"
>
<!-- 小地图-->
<com.minedata.minenavi.map.MapView
android:id=
"@+id/mapView"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</FrameLayout>
</RelativeLayout>
</RelativeLayout>
...
...
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