Commit 82269164 authored by p x's avatar p x
Browse files

泊车本地化

parent c0af16dd
......@@ -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}}]
......@@ -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
......@@ -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
......@@ -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")
}
}
......
......@@ -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()
......
......@@ -100,7 +100,7 @@ class DistantTipFragment : Fragment() {
// endPoint.longitude
// ).toInt()
if (businessType == AvpContants.Park_TYPE) {
if (businessType == AvpContants.PARK_TYPE) {
when (businessStatus) {
AvpContants.TRANSPORT_PROGRESS -> {
takeStr(distance, 1)
......
......@@ -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) {
......
......@@ -5,7 +5,7 @@ object AvpContants {
//业务类型
val NIL_TYPE = "NIL"
val CALL_TYPE = "Call"
val Park_TYPE = "Park"
val PARK_TYPE = "Park"
//档位
val GEAR_REVERSE = "REVERSE"
......
......@@ -102,7 +102,7 @@ class MainVm @Inject constructor(
lateinit var mockVM: MockVM
//是否需要模拟
var isMock = false
var isMock = true
//车辆位姿数据
// 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)
}
/**开启预警(光圈和雷达)
......
......@@ -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() - 10
var maxLat = Math.max(lat1, lat2).times(MU).toInt() + 10
var minLon = Math.min(lon1, lon2).times(MU).toInt() - 10
var maxLon = Math.max(lon1, lon2).times(MU).toInt() + 10
var minLat = Math.min(lat1, lat2).times(MU).toInt() - 20
var maxLat = Math.max(lat1, lat2).times(MU).toInt() + 20
var minLon = Math.min(lon1, lon2).times(MU).toInt() - 20
var maxLon = Math.max(lon1, lon2).times(MU).toInt() + 20
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.Park_TYPE) {
if (businessType == AvpContants.PARK_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.Park_TYPE) {
if (businessType == AvpContants.PARK_TYPE) {
if (businessStatus == AvpContants.PARK_COMPLETED) {
//消除车位流光特效
HighMapApi.parkRoundLight("")
} else if (space == null) {
HighMapApi.parkRoundLight("")
} else {
HighMapApi.parkRoundLight(space.name)
}
} else {
// HighMapApi.parkRoundLight("")
HighMapApi.parkRoundLight("")
}
}
......
......@@ -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 = ""
......
......@@ -153,7 +153,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="直接到首页"
android:visibility="visible"/>
android:visibility="gone"/>
</LinearLayout>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment