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
C-AVP2.0
Commits
82269164
Commit
82269164
authored
Jan 04, 2026
by
p x
Browse files
泊车本地化
parent
c0af16dd
Changes
12
Hide whitespace changes
Inline
Side-by-side
app/src/main/assets/mock/PerTarget.txt
View file @
82269164
...
...
@@ -5,6 +5,7 @@
[{"id":"3743379f-ddea-4816-9a34-e3b699810c50","deviceCode":"C-HK-38","deviceId":"DW17-XJ-003-034","intersectionCode":"yz-17","reportTime":1758163422384,"accessTime":1758163345458,"receiveTime":1758163422384,"participants":[{"ptcId":"50332456-3030-3030-3530-303334533955","ptcType":"pedestrian","longitude":"116.50207564481411","latitude":"39.80938475306621","heading":145,"speed":8.14,"gear":0,"color":0},{"ptcId":"f117fdfa-feff-0100-85dc-35850000acb0","ptcType":"car","longitude":"116.50167433","latitude":"39.80980092","heading":270,"speed":8.14,"gear":0,"color":0}]}]
[{"id":"3743379f-ddea-4816-9a34-e3b699810c50","deviceCode":"C-HK-38","deviceId":"DW17-XJ-003-034","intersectionCode":"yz-17","reportTime":1758163422384,"accessTime":1758163345458,"receiveTime":1758163422384,"participants":[{"ptcId":"50332456-3030-3030-3530-303334533955","ptcType":"pedestrian","longitude":"116.50207564481411","latitude":"39.80938475306621","heading":145,"speed":8.14,"gear":0,"color":0},{"ptcId":"f117fdfa-feff-0100-85dc-35850000acb0","ptcType":"car","longitude":"116.50167433","latitude":"39.80980092","heading":270,"speed":8.14,"gear":0,"color":0}]}]
[{"id":"3743379f-ddea-4816-9a34-e3b699810c50","deviceCode":"C-HK-38","deviceId":"DW17-XJ-003-034","intersectionCode":"yz-17","reportTime":1758163422384,"accessTime":1758163345458,"receiveTime":1758163422384,"participants":[{"ptcId":"50332456-3030-3030-3530-303334533955","ptcType":"pedestrian","longitude":"116.50207564481411","latitude":"39.80938475306621","heading":145,"speed":8.14,"gear":0,"color":0},{"ptcId":"f117fdfa-feff-0100-85dc-35850000acb0","ptcType":"car","longitude":"116.50167433","latitude":"39.80980092","heading":270,"speed":8.14,"gear":0,"color":0}]}]
[{"id":"3743379f-ddea-4816-9a34-e3b699810c50","deviceCode":"C-HK-38","deviceId":"DW17-XJ-003-034","intersectionCode":"yz-17","reportTime":1758163422384,"accessTime":1758163345458,"receiveTime":1758163422384,"participants":[{"ptcId":"50332456-3030-3030-3530-303334533955","ptcType":"pedestrian","longitude":"116.50207564481411","latitude":"39.80938475306621","heading":145,"speed":8.14,"gear":0,"color":0},{"ptcId":"f117fdfa-feff-0100-85dc-35850000acb0","ptcType":"car","longitude":"116.50167433","latitude":"39.80980092","heading":270,"speed":8.14,"gear":0,"color":0}]}]
[{"deviceId":"DW15-XJQJ-001-045","intersectionCode":"yz-15","reportTime":1764815073402,"accessTime":1764815073879,"receiveTime":0,"participants":[{"ptcId":"2341","ptcType":"car","longitude":116.50271170183275,"latitude":39.80904445069962,"heading":57.633811950683594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2340","ptcType":"car","longitude":116.50268856540413,"latitude":39.80895317267374,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2345","ptcType":"car","longitude":116.50274171245512,"latitude":39.80900671993886,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2344","ptcType":"car","longitude":116.50271926540687,"latitude":39.808914662673715,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2343","ptcType":"car","longitude":116.50272715276887,"latitude":39.809025009558425,"heading":57.6510009765625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2342","ptcType":"car","longitude":116.50270404509297,"latitude":39.80893375305483,"heading":237.6903533935547,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2349","ptcType":"car","longitude":116.50275042281662,"latitude":39.80917998352133,"heading":239.0422821044922,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2348","ptcType":"car","longitude":116.50274986540963,"latitude":39.80887628267371,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2347","ptcType":"car","longitude":116.5027574321414,"latitude":39.808986960319004,"heading":57.63954544067383,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2346","ptcType":"car","longitude":116.50273472540826,"latitude":39.80889527267371,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2370","ptcType":"car","longitude":116.5029332021782,"latitude":39.80897361436154,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2330","ptcType":"car","longitude":116.50263454240961,"latitude":39.80914144000592,"heading":57.64426040649414,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2374","ptcType":"car","longitude":116.50298282218414,"latitude":39.8088916143615,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2373","ptcType":"car","longitude":116.50296815218282,"latitude":39.8089098343615,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2372","ptcType":"car","longitude":116.50296713248197,"latitude":39.80893101397478,"heading":239.04901123046875,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2371","ptcType":"car","longitude":116.5029503024806,"latitude":39.80894999397479,"heading":239.04901123046875,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2334","ptcType":"car","longitude":116.50266476214972,"latitude":39.80910345031898,"heading":57.63954544067383,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2332","ptcType":"car","longitude":116.50264929240828,"latitude":39.809122890005916,"heading":57.64426040649414,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2331","ptcType":"car","longitude":116.50263792075117,"latitude":39.80882307750339,"heading":57.98255920410156,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2338","ptcType":"car","longitude":116.5026728354027,"latitude":39.808972912673745,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2337","ptcType":"car","longitude":116.50268014246065,"latitude":39.80908411993883,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2336","ptcType":"car","longitude":116.50265825508887,"latitude":39.80899119305486,"heading":237.6903533935547,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2335","ptcType":"car","longitude":116.50266949043878,"latitude":39.80878400788523,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2339","ptcType":"car","longitude":116.50269536214698,"latitude":39.80906499031898,"heading":57.63954544067383,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2363","ptcType":"car","longitude":116.50284933244545,"latitude":39.808871439938905,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2362","ptcType":"car","longitude":116.50283001217039,"latitude":39.809081234361564,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2361","ptcType":"car","longitude":116.50283382244685,"latitude":39.808890929938904,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2360","ptcType":"car","longitude":116.502814592169,"latitude":39.80910037436157,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2323","ptcType":"car","longitude":116.50254614044972,"latitude":39.80893667788518,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2367","ptcType":"car","longitude":116.50288599187421,"latitude":39.80903106474728,"heading":239.0604705810547,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2322","ptcType":"car","longitude":116.50253081045109,"latitude":39.808955657885164,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2366","ptcType":"car","longitude":116.50286065217314,"latitude":39.80904321436156,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2365","ptcType":"car","longitude":116.50286455275652,"latitude":39.808852299558495,"heading":57.6510009765625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2321","ptcType":"car","longitude":116.50291121904414,"latitude":39.80879379404847,"heading":59.078330993652344,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2364","ptcType":"car","longitude":116.50285004217156,"latitude":39.80906501436156,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2320","ptcType":"car","longitude":116.50289659570291,"latitude":39.80881243644724,"heading":58.447410583496094,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2327","ptcType":"car","longitude":116.5026063004444,"latitude":39.80886221788519,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2326","ptcType":"car","longitude":116.50258283044523,"latitude":39.80887400788519,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2325","ptcType":"car","longitude":116.50256286044687,"latitude":39.808896917885185,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2369","ptcType":"car","longitude":116.50291901247739,"latitude":39.808993983974794,"heading":239.04901123046875,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2324","ptcType":"car","longitude":116.50255221044789,"latitude":39.80891108788518,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2368","ptcType":"car","longitude":116.50290207277601,"latitude":39.80901219358914,"heading":239.0432891845703,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2329","ptcType":"car","longitude":116.502621860443,"latitude":39.808842957885204,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2328","ptcType":"car","longitude":116.50261907167797,"latitude":39.809160796296396,"heading":58.7477912902832,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2352","ptcType":"car","longitude":116.5027671622183,"latitude":39.809159234292686,"heading":239.05372619628906,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2351","ptcType":"car","longitude":116.50276508541099,"latitude":39.8088571926737,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2350","ptcType":"car","longitude":116.50277288276477,"latitude":39.80896753955845,"heading":57.6510009765625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2356","ptcType":"car","longitude":116.50280352244955,"latitude":39.80892902993889,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2355","ptcType":"car","longitude":116.50278258216612,"latitude":39.80914008436159,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2354","ptcType":"car","longitude":116.50278061541238,"latitude":39.80883771267369,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2353","ptcType":"car","longitude":116.50278808245095,"latitude":39.80894842993889,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2316","ptcType":"car","longitude":116.50281140541513,"latitude":39.80879908267367,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2315","ptcType":"car","longitude":116.50168582895532,"latitude":39.80914664999986,"heading":90.0,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2359","ptcType":"car","longitude":116.50281863244821,"latitude":39.808910029938886,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2314","ptcType":"car","longitude":116.50168582895532,"latitude":39.80914664999986,"heading":90.0,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2358","ptcType":"car","longitude":116.50279852246823,"latitude":39.80912031397485,"heading":239.04901123046875,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2313","ptcType":"car","longitude":116.50168582895532,"latitude":39.80914664999986,"heading":90.0,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2357","ptcType":"car","longitude":116.5027958651012,"latitude":39.80881858305479,"heading":237.6903533935547,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2319","ptcType":"car","longitude":116.50288008213037,"latitude":39.808832790319094,"heading":57.63954544067383,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2318","ptcType":"car","longitude":116.50284161976174,"latitude":39.80876134465391,"heading":238.91062927246094,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2317","ptcType":"car","longitude":116.50282752863292,"latitude":39.80877926326007,"heading":237.9940185546875,"speed":1.0,"elevation":0.0,"gear":0,"color":0}],"statistic":{"bus":0,"heavy_truck":0,"truck":0,"bike":0,"unknown":0,"motorcycle":0,"car":61,"suv":0,"police_car":0,"midibus":0,"electric_bicycle":0,"conical_barrel":0,"micro_truck":0,"spillage":0,"small_truck":0,"engine_emergency":0,"pickup":0,"ambulance":0,"tank_truck":0,"large_truck":0,"mpv":0,"fire_truck":0,"concrete_mixer":0,"minibus":0,"pedestrian":0,"tricycle":0}}]
[{"deviceId":"DW15-XJQJ-001-045","intersectionCode":"yz-15","reportTime":1764815073602,"accessTime":1764815074380,"receiveTime":0,"participants":[{"ptcId":"2341","ptcType":"car","longitude":116.50271170183275,"latitude":39.80904445069962,"heading":57.633811950683594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2340","ptcType":"car","longitude":116.50268856540413,"latitude":39.80895317267374,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2345","ptcType":"car","longitude":116.50274171245512,"latitude":39.80900671993886,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2344","ptcType":"car","longitude":116.50271926540687,"latitude":39.808914662673715,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2343","ptcType":"car","longitude":116.50272715276887,"latitude":39.809025009558425,"heading":57.6510009765625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2342","ptcType":"car","longitude":116.50270404509297,"latitude":39.80893375305483,"heading":237.6903533935547,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2349","ptcType":"car","longitude":116.50275042281662,"latitude":39.80917998352133,"heading":239.0422821044922,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2348","ptcType":"car","longitude":116.50274986540963,"latitude":39.80887628267371,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2347","ptcType":"car","longitude":116.5027574321414,"latitude":39.808986960319004,"heading":57.63954544067383,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2346","ptcType":"car","longitude":116.50273472540826,"latitude":39.80889527267371,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2370","ptcType":"car","longitude":116.5029332021782,"latitude":39.80897361436154,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2330","ptcType":"car","longitude":116.50263454240961,"latitude":39.80914144000592,"heading":57.64426040649414,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2374","ptcType":"car","longitude":116.50298282218414,"latitude":39.8088916143615,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2373","ptcType":"car","longitude":116.50296815218282,"latitude":39.8089098343615,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2372","ptcType":"car","longitude":116.50296713248197,"latitude":39.80893101397478,"heading":239.04901123046875,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2371","ptcType":"car","longitude":116.5029503024806,"latitude":39.80894999397479,"heading":239.04901123046875,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2334","ptcType":"car","longitude":116.50266476214972,"latitude":39.80910345031898,"heading":57.63954544067383,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2332","ptcType":"car","longitude":116.50264929240828,"latitude":39.809122890005916,"heading":57.64426040649414,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2331","ptcType":"car","longitude":116.50263792075117,"latitude":39.80882307750339,"heading":57.98255920410156,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2338","ptcType":"car","longitude":116.5026728354027,"latitude":39.808972912673745,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2337","ptcType":"car","longitude":116.50268014246065,"latitude":39.80908411993883,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2336","ptcType":"car","longitude":116.50265825508887,"latitude":39.80899119305486,"heading":237.6903533935547,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2335","ptcType":"car","longitude":116.50266949043878,"latitude":39.80878400788523,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2339","ptcType":"car","longitude":116.50269536214698,"latitude":39.80906499031898,"heading":57.63954544067383,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2363","ptcType":"car","longitude":116.50284933244545,"latitude":39.808871439938905,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2362","ptcType":"car","longitude":116.50283001217039,"latitude":39.809081234361564,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2361","ptcType":"car","longitude":116.50283382244685,"latitude":39.808890929938904,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2360","ptcType":"car","longitude":116.502814592169,"latitude":39.80910037436157,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2323","ptcType":"car","longitude":116.50254614044972,"latitude":39.80893667788518,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2367","ptcType":"car","longitude":116.50288599187421,"latitude":39.80903106474728,"heading":239.0604705810547,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2322","ptcType":"car","longitude":116.50253081045109,"latitude":39.808955657885164,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2366","ptcType":"car","longitude":116.50286065217314,"latitude":39.80904321436156,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2365","ptcType":"car","longitude":116.50286455275652,"latitude":39.808852299558495,"heading":57.6510009765625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2321","ptcType":"car","longitude":116.50291121904414,"latitude":39.80879379404847,"heading":59.078330993652344,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2364","ptcType":"car","longitude":116.50285004217156,"latitude":39.80906501436156,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2320","ptcType":"car","longitude":116.50289659570291,"latitude":39.80881243644724,"heading":58.447410583496094,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2327","ptcType":"car","longitude":116.5026063004444,"latitude":39.80886221788519,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2326","ptcType":"car","longitude":116.50258283044523,"latitude":39.80887400788519,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2325","ptcType":"car","longitude":116.50256286044687,"latitude":39.808896917885185,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2369","ptcType":"car","longitude":116.50291901247739,"latitude":39.808993983974794,"heading":239.04901123046875,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2324","ptcType":"car","longitude":116.50255221044789,"latitude":39.80891108788518,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2368","ptcType":"car","longitude":116.50290207277601,"latitude":39.80901219358914,"heading":239.0432891845703,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2329","ptcType":"car","longitude":116.502621860443,"latitude":39.808842957885204,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2328","ptcType":"car","longitude":116.50261907167797,"latitude":39.809160796296396,"heading":58.7477912902832,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2352","ptcType":"car","longitude":116.5027671622183,"latitude":39.809159234292686,"heading":239.05372619628906,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2351","ptcType":"car","longitude":116.50276508541099,"latitude":39.8088571926737,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2350","ptcType":"car","longitude":116.50277288276477,"latitude":39.80896753955845,"heading":57.6510009765625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2356","ptcType":"car","longitude":116.50280352244955,"latitude":39.80892902993889,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2355","ptcType":"car","longitude":116.50278258216612,"latitude":39.80914008436159,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2354","ptcType":"car","longitude":116.50278061541238,"latitude":39.80883771267369,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2353","ptcType":"car","longitude":116.50278808245095,"latitude":39.80894842993889,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2316","ptcType":"car","longitude":116.50281140541513,"latitude":39.80879908267367,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2315","ptcType":"car","longitude":116.50168582895532,"latitude":39.80914664999986,"heading":90.0,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2359","ptcType":"car","longitude":116.50281863244821,"latitude":39.808910029938886,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2314","ptcType":"car","longitude":116.50168582895532,"latitude":39.80914664999986,"heading":90.0,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2358","ptcType":"car","longitude":116.50279852246823,"latitude":39.80912031397485,"heading":239.04901123046875,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2313","ptcType":"car","longitude":116.50168582895532,"latitude":39.80914664999986,"heading":90.0,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2357","ptcType":"car","longitude":116.5027958651012,"latitude":39.80881858305479,"heading":237.6903533935547,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2319","ptcType":"car","longitude":116.50288008213037,"latitude":39.808832790319094,"heading":57.63954544067383,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2318","ptcType":"car","longitude":116.50284161976174,"latitude":39.80876134465391,"heading":238.91062927246094,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2317","ptcType":"car","longitude":116.50282752863292,"latitude":39.80877926326007,"heading":237.9940185546875,"speed":1.0,"elevation":0.0,"gear":0,"color":0}],"statistic":{"bus":0,"heavy_truck":0,"truck":0,"bike":0,"unknown":0,"motorcycle":0,"car":61,"suv":0,"police_car":0,"midibus":0,"electric_bicycle":0,"conical_barrel":0,"micro_truck":0,"spillage":0,"small_truck":0,"engine_emergency":0,"pickup":0,"ambulance":0,"tank_truck":0,"large_truck":0,"mpv":0,"fire_truck":0,"concrete_mixer":0,"minibus":0,"pedestrian":0,"tricycle":0}}]
[{"deviceId":"DW15-XJQJ-001-045","intersectionCode":"yz-15","reportTime":1764815074301,"accessTime":1764815074882,"receiveTime":0,"participants":[{"ptcId":"2341","ptcType":"car","longitude":116.50271170183275,"latitude":39.80904445069962,"heading":57.633811950683594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2340","ptcType":"car","longitude":116.50268856540413,"latitude":39.80895317267374,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2345","ptcType":"car","longitude":116.50274171245512,"latitude":39.80900671993886,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2344","ptcType":"car","longitude":116.50271926540687,"latitude":39.808914662673715,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2343","ptcType":"car","longitude":116.50272715276887,"latitude":39.809025009558425,"heading":57.6510009765625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2342","ptcType":"car","longitude":116.50270404509297,"latitude":39.80893375305483,"heading":237.6903533935547,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2349","ptcType":"car","longitude":116.50275042281662,"latitude":39.80917998352133,"heading":239.0422821044922,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2348","ptcType":"car","longitude":116.50274986540963,"latitude":39.80887628267371,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2347","ptcType":"car","longitude":116.5027574321414,"latitude":39.808986960319004,"heading":57.63954544067383,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2346","ptcType":"car","longitude":116.50273472540826,"latitude":39.80889527267371,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2370","ptcType":"car","longitude":116.5029332021782,"latitude":39.80897361436154,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2330","ptcType":"car","longitude":116.50263454240961,"latitude":39.80914144000592,"heading":57.64426040649414,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2374","ptcType":"car","longitude":116.50298282218414,"latitude":39.8088916143615,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2373","ptcType":"car","longitude":116.50296815218282,"latitude":39.8089098343615,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2372","ptcType":"car","longitude":116.50296713248197,"latitude":39.80893101397478,"heading":239.04901123046875,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2371","ptcType":"car","longitude":116.5029503024806,"latitude":39.80894999397479,"heading":239.04901123046875,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2334","ptcType":"car","longitude":116.50266476214972,"latitude":39.80910345031898,"heading":57.63954544067383,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2332","ptcType":"car","longitude":116.50264929240828,"latitude":39.809122890005916,"heading":57.64426040649414,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2331","ptcType":"car","longitude":116.50263792075117,"latitude":39.80882307750339,"heading":57.98255920410156,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2338","ptcType":"car","longitude":116.5026728354027,"latitude":39.808972912673745,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2337","ptcType":"car","longitude":116.50268014246065,"latitude":39.80908411993883,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2336","ptcType":"car","longitude":116.50265825508887,"latitude":39.80899119305486,"heading":237.6903533935547,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2335","ptcType":"car","longitude":116.50266949043878,"latitude":39.80878400788523,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2339","ptcType":"car","longitude":116.50269536214698,"latitude":39.80906499031898,"heading":57.63954544067383,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2363","ptcType":"car","longitude":116.50284933244545,"latitude":39.808871439938905,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2362","ptcType":"car","longitude":116.50283001217039,"latitude":39.809081234361564,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2361","ptcType":"car","longitude":116.50283382244685,"latitude":39.808890929938904,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2360","ptcType":"car","longitude":116.502814592169,"latitude":39.80910037436157,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2323","ptcType":"car","longitude":116.50254614044972,"latitude":39.80893667788518,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2367","ptcType":"car","longitude":116.50288599187421,"latitude":39.80903106474728,"heading":239.0604705810547,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2322","ptcType":"car","longitude":116.50253081045109,"latitude":39.808955657885164,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2366","ptcType":"car","longitude":116.50286065217314,"latitude":39.80904321436156,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2365","ptcType":"car","longitude":116.50286455275652,"latitude":39.808852299558495,"heading":57.6510009765625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2321","ptcType":"car","longitude":116.50291121904414,"latitude":39.80879379404847,"heading":59.078330993652344,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2364","ptcType":"car","longitude":116.50285004217156,"latitude":39.80906501436156,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2320","ptcType":"car","longitude":116.50289659570291,"latitude":39.80881243644724,"heading":58.447410583496094,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2327","ptcType":"car","longitude":116.5026063004444,"latitude":39.80886221788519,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2326","ptcType":"car","longitude":116.50258283044523,"latitude":39.80887400788519,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2325","ptcType":"car","longitude":116.50256286044687,"latitude":39.808896917885185,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2369","ptcType":"car","longitude":116.50291901247739,"latitude":39.808993983974794,"heading":239.04901123046875,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2324","ptcType":"car","longitude":116.50255221044789,"latitude":39.80891108788518,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2368","ptcType":"car","longitude":116.50290207277601,"latitude":39.80901219358914,"heading":239.0432891845703,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2329","ptcType":"car","longitude":116.502621860443,"latitude":39.808842957885204,"heading":57.976829528808594,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2328","ptcType":"car","longitude":116.50261907167797,"latitude":39.809160796296396,"heading":58.7477912902832,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2352","ptcType":"car","longitude":116.5027671622183,"latitude":39.809159234292686,"heading":239.05372619628906,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2351","ptcType":"car","longitude":116.50276508541099,"latitude":39.8088571926737,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2350","ptcType":"car","longitude":116.50277288276477,"latitude":39.80896753955845,"heading":57.6510009765625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2356","ptcType":"car","longitude":116.50280352244955,"latitude":39.80892902993889,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2355","ptcType":"car","longitude":116.50278258216612,"latitude":39.80914008436159,"heading":239.05474853515625,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2354","ptcType":"car","longitude":116.50278061541238,"latitude":39.80883771267369,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2353","ptcType":"car","longitude":116.50278808245095,"latitude":39.80894842993889,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2316","ptcType":"car","longitude":116.50281140541513,"latitude":39.80879908267367,"heading":237.6846160888672,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2315","ptcType":"car","longitude":116.50168582895532,"latitude":39.80914664999986,"heading":90.0,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2359","ptcType":"car","longitude":116.50281863244821,"latitude":39.808910029938886,"heading":57.64527130126953,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2314","ptcType":"car","longitude":116.50168582895532,"latitude":39.80914664999986,"heading":90.0,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2358","ptcType":"car","longitude":116.50279852246823,"latitude":39.80912031397485,"heading":239.04901123046875,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2313","ptcType":"car","longitude":116.50168582895532,"latitude":39.80914664999986,"heading":90.0,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2357","ptcType":"car","longitude":116.5027958651012,"latitude":39.80881858305479,"heading":237.6903533935547,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2319","ptcType":"car","longitude":116.50288008213037,"latitude":39.808832790319094,"heading":57.63954544067383,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2318","ptcType":"car","longitude":116.50284161976174,"latitude":39.80876134465391,"heading":238.91062927246094,"speed":1.0,"elevation":0.0,"gear":0,"color":0},{"ptcId":"2317","ptcType":"car","longitude":116.50282752863292,"latitude":39.80877926326007,"heading":237.9940185546875,"speed":1.0,"elevation":0.0,"gear":0,"color":0}],"statistic":{"bus":0,"heavy_truck":0,"truck":0,"bike":0,"unknown":0,"motorcycle":0,"car":61,"suv":0,"police_car":0,"midibus":0,"electric_bicycle":0,"conical_barrel":0,"micro_truck":0,"spillage":0,"small_truck":0,"engine_emergency":0,"pickup":0,"ambulance":0,"tank_truck":0,"large_truck":0,"mpv":0,"fire_truck":0,"concrete_mixer":0,"minibus":0,"pedestrian":0,"tricycle":0}}]
app/src/main/java/com/sd/cavphmi/bean/BindCarBean.kt
View file @
82269164
...
...
@@ -15,11 +15,11 @@ data class BindCarBean(
data class
BindResult
(
val
id
:
Int
,
val
lastLatitude
:
Any
,
val
lastLongitude
:
Any
,
val
placeId
:
Int
,
//
val lastLatitude: Any,
//
val lastLongitude: Any,
//
val placeId: Int,
val
plateNumber
:
String
,
val
vehicleBusinessType
:
String
,
val
vehicleCode
:
String
,
val
vin
:
String
//
val vehicleBusinessType: String,
//
val vehicleCode: String,
//
val vin: String
)
\ No newline at end of file
app/src/main/java/com/sd/cavphmi/bean/V2xStartBean.kt
View file @
82269164
...
...
@@ -4,20 +4,20 @@ package com.sd.cavphmi.bean
* {"id":"39846582477537280","objects":[{"id":"267","name":"Vehicle","longitude":117.3461065,"latitude":38.9985969,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.3463289,"latitude":38.9986373,"elevation":500.0}],"type":1,"typeName":"前向碰撞预警","level":1,"startTime":1755582898300,"reportTime":1755582898300}
* ***/
class
V2xStartBean
{
var
id
:
String
=
""
var
level
:
Int
=
1
//
var id: String = ""
//
var level: Int = 1
var
objects
:
List
<
VObject
>?
=
null
var
reportTime
:
Long
=
0L
var
startTime
:
Long
=
0L
//
var reportTime: Long = 0L
//
var startTime: Long = 0L
var
type
:
Int
=
-
1
var
typeName
:
String
=
""
}
//第一个是自己的车 第二个是预警
车
//第一个是自己的车 第二个是预警
物体
data class
VObject
(
var
elevation
:
Double
,
//
var elevation: Double,
var
id
:
String
,
var
latitude
:
Double
,
var
longitude
:
Double
,
var
name
:
String
//
var latitude: Double,
//
var longitude: Double,
//
var name: String
)
\ No newline at end of file
app/src/main/java/com/sd/cavphmi/ui/LoginActivity.kt
View file @
82269164
...
...
@@ -8,6 +8,7 @@ import androidx.lifecycle.Lifecycle
import
androidx.lifecycle.lifecycleScope
import
androidx.lifecycle.repeatOnLifecycle
import
com.jakewharton.rxbinding4.view.clicks
import
com.sd.cavphmi.bean.BindResult
import
com.sd.cavphmi.databinding.ActivityLoginBinding
import
com.sd.cavphmi.ui.dialog.SeleBindCarDialog
import
com.sd.cavphmi.utils.MMKVUtil
...
...
@@ -98,35 +99,35 @@ class LoginActivity : AppCompatActivity() {
//获取可绑定车辆
private
fun
getBinderCars
()
{
// seleBindCarDialog = SeleBindCarDialog.newInstance()
mainVm
.
getBindCar
().
observe
(
this
)
{
bindCars
->
if
(
mainVm
.
isMock
)
{
//id = 27
var
bindCars
=
listOf
(
BindResult
(
27
,
"皖BDJ1106"
))
var
plateNumbers
=
bindCars
.
map
{
it
.
plateNumber
}
seleBindCarDialog
.
setPlates
(
plateNumbers
)
seleBindCarDialog
.
itemClickListener
=
object
:
SeleBindCarDialog
.
OnItemClickListener
{
override
fun
onItemClick
(
position
:
Int
)
{
MyContants
.
VEHICLEID
=
bindCars
.
get
(
position
).
id
startActivity
(
Intent
(
this
@LoginActivity
,
MainActivity
::
class
.
java
))
finish
()
seleBindCarDialog
.
itemClickListener
=
object
:
SeleBindCarDialog
.
OnItemClickListener
{
override
fun
onItemClick
(
position
:
Int
)
{
MyContants
.
VEHICLEID
=
bindCars
.
get
(
position
).
id
startActivity
(
Intent
(
this
@LoginActivity
,
MainActivity
::
class
.
java
))
finish
()
}
}
}
else
{
mainVm
.
getBindCar
().
observe
(
this
)
{
bindCars
->
var
plateNumbers
=
bindCars
.
map
{
it
.
plateNumber
}
seleBindCarDialog
.
itemClickListener
=
object
:
SeleBindCarDialog
.
OnItemClickListener
{
override
fun
onItemClick
(
position
:
Int
)
{
MyContants
.
VEHICLEID
=
bindCars
.
get
(
position
).
id
startActivity
(
Intent
(
this
@LoginActivity
,
MainActivity
::
class
.
java
))
finish
()
}
}
seleBindCarDialog
.
setPlates
(
plateNumbers
)
}
if
(!
seleBindCarDialog
.
isAdded
)
{
seleBindCarDialog
.
showNow
(
supportFragmentManager
,
"seleBindCarDialog"
)
}
// val dialog = CustomListDialog(this, "选择车辆", plateNumbers)
// dialog.setOnItemClickListener(object : CustomListDialog.OnItemClickListener {
// override fun onItemClick(position: Int, selectedItem: String) {
//// Toast.makeText(
//// this@LoginActivity,
//// "点击了第${position + 1}项: $selectedItem",
//// Toast.LENGTH_SHORT
//// ).show()
// MyContants.VEHICLEID = bindCars.get(position).id
// startActivity(Intent(this@LoginActivity, MainActivity::class.java))
// finish()
// }
// })
// dialog.show()
}
if
(!
seleBindCarDialog
.
isAdded
)
{
seleBindCarDialog
.
showNow
(
supportFragmentManager
,
"seleBindCarDialog"
)
}
}
...
...
app/src/main/java/com/sd/cavphmi/ui/MainActivity.kt
View file @
82269164
...
...
@@ -32,6 +32,7 @@ import com.sd.cavphmi.ui.fragment.CarPanelFragment
import
com.sd.cavphmi.ui.fragment.ExoPlayFragment
import
com.sd.cavphmi.utils.AvpContants
import
com.sd.cavphmi.utils.DisplayUtil
import
com.sd.cavphmi.utils.ToastHelper
import
com.sd.cavphmi.viewmodels.MainVm
import
com.sd.cavphmi.viewmodels.MapOpt
import
com.sd.cavphmi.viewmodels.MockVM
...
...
@@ -164,13 +165,15 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>() {
override
fun
getToData
()
{
if
(!
mainVm
.
isMock
)
{
//开启websocket
getTarget
()
getV2x
()
//开启2个HTTP sse
getCarVehicle
()
//开启AVP状态(HTTP SSE)
getAvpStatus
()
}
//开启V2X预警
getV2x
()
//开启感知物websocket
getTarget
()
//开启车辆位姿
getCarVehicle
()
//获取车位占用情况
// getSpaceInfo()
}
...
...
@@ -240,12 +243,42 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>() {
mapOpt
.
showParkLight
(
businessType
,
businessStatus
,
avpStatu
.
space
)
//判断在泊车状态下的倒挡绘制倒车路线,改变镜头视角,,判断车是否到达停车点
mapOpt
.
drawReversePark
(
businessType
,
businessStatus
,
gearType
,
avpStatu
.
space
)
//显示提示
tip
(
businessType
,
businessStatus
)
//重置变量
resetVariable
(
businessStatus
)
//根据AVP任务状态判停车特效是否关闭
// mapOpt.showEffectAvpStatu(businessType, businessStatus)
}
/***重置变量**/
private
fun
resetVariable
(
businessStatus
:
String
)
{
if
(
businessStatus
==
AvpContants
.
TRANSPORT_COMPLETED
||
businessStatus
==
AvpContants
.
TRANSPORT_CANCELED
)
{
mainVm
.
isGetVehDetail
=
false
// mapOpt.smallMapLine = false
mapOpt
.
sliceIndex
=
0
// mapOpt.isDrawAreaCount = false
}
}
/***提示业务完成状态**/
private
fun
tip
(
businessType
:
String
,
businessStatus
:
String
)
{
if
(
businessType
==
AvpContants
.
PARK_TYPE
)
{
when
(
businessStatus
)
{
AvpContants
.
PARK_COMPLETED
->
{
ToastHelper
.
showShort
(
this
,
"泊车完成"
)
}
}
}
else
if
(
businessType
==
AvpContants
.
CALL_TYPE
)
{
when
(
businessStatus
)
{
AvpContants
.
TRANSPORT_COMPLETED
->
{
ToastHelper
.
showShort
(
this
,
"召车完成"
)
}
}
}
}
/***是否展示车内视频****/
private
fun
isCarVideo
(
businessStatus
:
String
)
{
if
(
businessStatus
==
AvpContants
.
TRANSPORT_PROGRESS
)
{
...
...
@@ -256,15 +289,6 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>() {
}
}
/***重置变量**/
private
fun
resetVariable
(
businessStatus
:
String
)
{
if
(
businessStatus
==
AvpContants
.
TRANSPORT_COMPLETED
||
businessStatus
==
AvpContants
.
TRANSPORT_CANCELED
)
{
mainVm
.
isGetVehDetail
=
false
// mapOpt.smallMapLine = false
mapOpt
.
sliceIndex
=
0
// mapOpt.isDrawAreaCount = false
}
}
//联网车辆位姿数据
private
fun
getCarVehicle
()
{
...
...
@@ -276,9 +300,9 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>() {
}
}
//召车的时候临时开一下
mainVm
.
targetPre
.
observe
(
this
)
{
/*
mainVm.targetPre.observe(this) {
showPre(it)
}
}
*/
}
//显示车辆位姿UI
...
...
@@ -291,7 +315,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>() {
mapOpt
.
drawSmallCar
(
car
)
//刷新右下角小车位置
mapOpt
.
showNavingCarPosition
(
car
)
//
生成车前方
矩形
//
车四周生成
矩形
mapOpt
.
genFronArea
(
car
)
//刷新右下角小地图路径
mapOpt
.
upSmallMapLine
()
...
...
app/src/main/java/com/sd/cavphmi/ui/fragment/DistantTipFragment.kt
View file @
82269164
...
...
@@ -100,7 +100,7 @@ class DistantTipFragment : Fragment() {
// endPoint.longitude
// ).toInt()
if
(
businessType
==
AvpContants
.
P
ark
_TYPE
)
{
if
(
businessType
==
AvpContants
.
P
ARK
_TYPE
)
{
when
(
businessStatus
)
{
AvpContants
.
TRANSPORT_PROGRESS
->
{
takeStr
(
distance
,
1
)
...
...
app/src/main/java/com/sd/cavphmi/ui/fragment/UnityFragment.kt
View file @
82269164
...
...
@@ -15,7 +15,6 @@ import com.unity3d.player.IUnityPlayerLifecycleEvents
import
com.unity3d.player.UnityPlayer
class
UnityFragment
:
Fragment
()
{
// region Lifecycle Management - MUST BE FORWARDED TO UnityPlayer
override
fun
onResume
()
{
super
.
onResume
()
mUnityPlayer
.
onResume
()
...
...
@@ -66,21 +65,8 @@ class UnityFragment : Fragment() {
frameLayout
.
addView
(
unityPlayer
,
layoutParams
)
}
return
frameLayout
// return inflater.inflate(R.layout.fragment_unity, container, false)
}
// override fun onUnityPlayerUnloaded() {
// Log.d("UnityFragment", "-----------------onUnityPlayerUnloaded")
// // Unity 玩家未加载时调用
// activity?.finish()
// }
//
// override fun onUnityPlayerQuitted() {
// Log.d("UnityFragment", "-----------------onUnityPlayerQuitted")
// }
// UnityPlayer 实例
private
lateinit
var
mUnityPlayer
:
UnityPlayer
...
...
@@ -98,8 +84,6 @@ class UnityFragment : Fragment() {
override
fun
onViewCreated
(
view
:
View
,
savedInstanceState
:
Bundle
?)
{
super
.
onViewCreated
(
view
,
savedInstanceState
)
// 视图创建完成后,可以在这里进行最终设置
// mUnityPlayer.windowFocusChanged(true)
// 视图创建完成后,可以在这里进行最终设置
mUnityPlayer
.
requestFocus
()
mUnityPlayer
.
setFocusableInTouchMode
(
true
)
//使用拼接服务器资源加载地图
...
...
@@ -107,8 +91,6 @@ class UnityFragment : Fragment() {
// mUnityPlayer.postDelayed({
// try {
HighMapApi
.
setCarBottomCircle
(
true
)
// HighMapApi.setCameraAngle(90f)
// HighMapApi.setCameraDistance(80f)
HighMapApi
.
setCameraAngle
(
30f
)
HighMapApi
.
setCameraDistance
(
8f
)
// } catch (e: Exception) {
...
...
app/src/main/java/com/sd/cavphmi/utils/AvpContants.kt
View file @
82269164
...
...
@@ -5,7 +5,7 @@ object AvpContants {
//业务类型
val
NIL_TYPE
=
"NIL"
val
CALL_TYPE
=
"Call"
val
P
ark
_TYPE
=
"Park"
val
P
ARK
_TYPE
=
"Park"
//档位
val
GEAR_REVERSE
=
"REVERSE"
...
...
app/src/main/java/com/sd/cavphmi/viewmodels/MainVm.kt
View file @
82269164
...
...
@@ -102,7 +102,7 @@ class MainVm @Inject constructor(
lateinit
var
mockVM
:
MockVM
//是否需要模拟
var
isMock
=
fals
e
var
isMock
=
tru
e
//车辆位姿数据
// var carVehicle = MutableLiveData<CarVehicle>()
...
...
@@ -254,8 +254,13 @@ class MainVm @Inject constructor(
fun
subVehicle
():
StateFlow
<
CarVehicle
>
{
if
(
isMock
)
{
// mockVM.subVehicle(carVehicle)
// mockVM.onVehicleMockPark(carVehicle)
mockVM
.
onVehicleMockCall
(
carVehicle
,
targetPre
)
viewModelScope
.
launch
{
delay
(
20000
)
//模拟泊车
mockVM
.
onVehicleMockPark
(
carVehicle
,
v2xStartBean
)
delay
(
3000
)
}
// mockVM.onVehicleMockCall(carVehicle, targetPre,v2xStartBean)
}
else
{
var
url
=
"${MyContants.HOST}/api/avpweb/hmi/monitor/v1/monitorDrivenStatus"
carCb
.
url
=
url
...
...
@@ -416,6 +421,7 @@ class MainVm @Inject constructor(
//开启预警特效
fun
startWarning
(
ptcId
:
String
)
{
viewModelScope
.
launch
{
toggleCircleRadar
(
2
)
var
warnPtc
=
WarnPtc
().
apply
{
ptcid
=
ptcId
isRed
=
true
...
...
@@ -426,7 +432,6 @@ class MainVm @Inject constructor(
warnPtc
.
isRed
=
false
HighMapApi
.
setWarnPtc
(
warns
)
}
toggleCircleRadar
(
2
)
}
/**开启预警(光圈和雷达)
...
...
app/src/main/java/com/sd/cavphmi/viewmodels/MapOpt.kt
View file @
82269164
...
...
@@ -64,11 +64,7 @@ class MapOpt @Inject constructor(
//车四周矩形
private
var
roundArea
:
Polygon
?
=
null
//锁
// private var cenAreaLock = CenAreaLock()
// 小地图路径坐标点串 (02坐标系)
// private var coordinateSeries = ArrayList<DoubleArray>()
//小地图线
private
var
sPolyline
:
Polyline
?
=
null
//是否进入泊车倒车状态
...
...
@@ -175,8 +171,6 @@ class MapOpt @Inject constructor(
return
}
// if (smallMapLine)
// return
// if (coordinateSeries.count() > 0)
// return
if
(
drivenDecision
.
trajectory
.
points
.
count
()
>
0
)
{
// smallMapLine = true
...
...
@@ -205,7 +199,7 @@ class MapOpt @Inject constructor(
//当前车辆位置
// var latlng = LatLng(carVehicle.vehiclePos!!.get(1), carVehicle.vehiclePos.get(0))
viewModelScope
.
launch
(
Dispatchers
.
Default
)
{
//算出线段与车辆四周面的相交
//算出线段与车辆四周面的相交
的下标
var
crossIndex
=
MyGeoTools
.
cauLineContainsArea
(
roundArea
,
lineString
)
//点没有平均分配,前三分一8个点,后三分之一3个点
// println("-----------相交线段下标 crossIndex = ${crossIndex}")
...
...
@@ -246,10 +240,10 @@ class MapOpt @Inject constructor(
val
MU
=
100000
var
minLat
=
Math
.
min
(
lat1
,
lat2
).
times
(
MU
).
toInt
()
-
1
0
var
maxLat
=
Math
.
max
(
lat1
,
lat2
).
times
(
MU
).
toInt
()
+
1
0
var
minLon
=
Math
.
min
(
lon1
,
lon2
).
times
(
MU
).
toInt
()
-
1
0
var
maxLon
=
Math
.
max
(
lon1
,
lon2
).
times
(
MU
).
toInt
()
+
1
0
var
minLat
=
Math
.
min
(
lat1
,
lat2
).
times
(
MU
).
toInt
()
-
2
0
var
maxLat
=
Math
.
max
(
lat1
,
lat2
).
times
(
MU
).
toInt
()
+
2
0
var
minLon
=
Math
.
min
(
lon1
,
lon2
).
times
(
MU
).
toInt
()
-
2
0
var
maxLon
=
Math
.
max
(
lon1
,
lon2
).
times
(
MU
).
toInt
()
+
2
0
var
rect
=
Rect
(
minLon
,
minLat
,
maxLon
,
maxLat
...
...
@@ -264,12 +258,14 @@ class MapOpt @Inject constructor(
/**画路径起终点***/
fun
addEndMarker
(
endPoint
:
EndPoint
,
businessStatus
:
String
)
{
if
(
businessStatus
==
AvpContants
.
TRANSPORT_COMPLETED
||
businessStatus
==
AvpContants
.
TRANSPORT_CANCELED
)
{
if
(
businessStatus
==
AvpContants
.
TRANSPORT_COMPLETED
||
businessStatus
==
AvpContants
.
TRANSPORT_CANCELED
||
businessStatus
==
AvpContants
.
PARK_COMPLETED
)
{
//删除终点marker
deleteEndMarker
()
return
}
if
(
pEndMarker
==
null
)
{
if
(
pEndMarker
==
null
&&
endPoint
!=
null
)
{
var
mEndPoint
=
LatLng
(
endPoint
.
latitude
,
endPoint
.
longitude
)
val
end_icon
=
BitmapFactory
.
decodeResource
(
context
.
resources
,
R
.
drawable
.
plan_end
)
pEndMarker
=
mMineMap
?.
addMarker
(
...
...
@@ -283,7 +279,7 @@ class MapOpt @Inject constructor(
fun
drawReversePark
(
businessType
:
String
,
businessStatus
:
String
,
gearType
:
String
,
space
:
Space
)
{
if
(
businessType
==
AvpContants
.
P
ark
_TYPE
)
{
if
(
businessType
==
AvpContants
.
P
ARK
_TYPE
)
{
if
(
businessStatus
==
AvpContants
.
TRANSPORT_COMPLETED
)
{
//到达停车点
HighMapApi
.
setCameraDistance
(
30f
)
HighMapApi
.
setCameraAngle
(
60f
)
...
...
@@ -316,15 +312,17 @@ class MapOpt @Inject constructor(
//是否显示车位流光效果
fun
showParkLight
(
businessType
:
String
,
businessStatus
:
String
,
space
:
Space
)
{
if
(
businessType
==
AvpContants
.
P
ark
_TYPE
)
{
if
(
businessType
==
AvpContants
.
P
ARK
_TYPE
)
{
if
(
businessStatus
==
AvpContants
.
PARK_COMPLETED
)
{
//消除车位流光特效
HighMapApi
.
parkRoundLight
(
""
)
}
else
if
(
space
==
null
)
{
HighMapApi
.
parkRoundLight
(
""
)
}
else
{
HighMapApi
.
parkRoundLight
(
space
.
name
)
}
}
else
{
//
HighMapApi.parkRoundLight("")
HighMapApi
.
parkRoundLight
(
""
)
}
}
...
...
app/src/main/java/com/sd/cavphmi/viewmodels/MockVM.kt
View file @
82269164
...
...
@@ -25,6 +25,7 @@ import com.sd.cavphmi.bean.CarPanelBean
import
com.sd.cavphmi.bean.CarVehicle
import
com.sd.cavphmi.bean.PerceptionBean
import
com.sd.cavphmi.bean.V2xStartBean
import
com.sd.cavphmi.bean.VObject
import
com.sd.cavphmi.bean.mock.MRoutes
import
com.sd.cavphmi.bean.mock.ParkPath
import
com.sd.cavphmi.highmap.AllLine
...
...
@@ -76,7 +77,7 @@ class MockVM @Inject constructor(
* @param binding 里的速度
* **/
fun
onVehicleMockPark
(
carVehicle
:
MutableStateFlow
<
CarVehicle
>
carVehicle
:
MutableStateFlow
<
CarVehicle
>
,
v2xStartBean
:
MutableLiveData
<
V2xStartBean
>
)
{
// HighMapApi.setCameraAngle(30f)
viewModelScope
.
launch
{
...
...
@@ -121,9 +122,34 @@ class MockVM @Inject constructor(
var
bearing
=
0f
val
random
=
Random
mRoutes
.
rs
.
forEachIndexed
{
index
,
it
->
if
(
index
==
8
)
{
//紧急制动预警
var
v2x
=
V2xStartBean
().
apply
{
type
=
6
objects
=
listOf
(
VObject
(
""
),
VObject
(
"f117fdfa-feff-0100-85dc-35850000acb0"
))
}
v2xStartBean
.
postValue
(
v2x
)
}
else
if
(
index
==
30
)
{
//前向碰撞
var
v2x
=
V2xStartBean
().
apply
{
type
=
1
objects
=
listOf
(
VObject
(
""
),
VObject
(
"f117fdfa-feff-0100-85dc-35850000acb0"
))
}
v2xStartBean
.
postValue
(
v2x
)
}
else
if
(
index
==
60
)
{
//弱势交通参与者
var
v2x
=
V2xStartBean
().
apply
{
type
=
12
objects
=
listOf
(
VObject
(
""
),
VObject
(
"50332456-3030-3030-3530-303334533955"
))
}
v2xStartBean
.
postValue
(
v2x
)
}
//变速
CarPanelBean
.
instance
.
speed
.
set
(
random
.
nextInt
(
10
..
15
))
//一边移动一把你计算航向角
if
(
index
>
0
&&
index
<
mRoutes
.
rs
.
count
())
{
var
p1
=
mRoutes
.
rs
.
get
(
index
-
1
)
var
pc
=
mRoutes
.
rs
.
get
(
index
)
...
...
@@ -261,7 +287,8 @@ class MockVM @Inject constructor(
//召车 航向角 238.38134765625
fun
onVehicleMockCall
(
carVehicle
:
MutableStateFlow
<
CarVehicle
>,
targetPre
:
MutableLiveData
<
PerceptionBean
>?
targetPre
:
MutableLiveData
<
PerceptionBean
>,
v2xStartBean
:
MutableLiveData
<
V2xStartBean
>
)
{
viewModelScope
.
launch
{
//初始镜头角度
...
...
@@ -320,7 +347,7 @@ class MockVM @Inject constructor(
if
(
index
<=
139
)
{
//正在小心翼翼的出库
CarPanelBean
.
instance
.
speed
.
set
(
random
.
nextInt
(
1
..
5
))
}
else
{
}
else
{
//开起来了
CarPanelBean
.
instance
.
speed
.
set
(
random
.
nextInt
(
10
..
16
))
}
...
...
@@ -523,6 +550,7 @@ class MockVM @Inject constructor(
//感知目标物
fun
onSubTargetMock
(
targetPre
:
MutableLiveData
<
PerceptionBean
>)
{
viewModelScope
.
launch
{
delay
(
20000
)
val
parts
=
mutableListOf
<
String
>()
FileIoUtils
.
getAssetMock
(
context
,
"mock/PerTarget.txt"
,
parts
)
var
temp
=
""
...
...
app/src/main/res/layout/activity_login.xml
View file @
82269164
...
...
@@ -153,7 +153,7 @@
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:text=
"直接到首页"
android:visibility=
"
visibl
e"
/>
android:visibility=
"
gon
e"
/>
</LinearLayout>
...
...
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