From 99f0ef30fec5ba48971765e547ca95d0fd49a971 Mon Sep 17 00:00:00 2001 From: David Eder Date: Sat, 12 Jun 2021 11:53:03 +0200 Subject: [PATCH] Add info window to control center --- .../component/landing/landing.component.css | 6 ++--- .../component/landing/landing.component.html | 25 ++++++++++++++++--- .../component/landing/landing.component.ts | 22 +++++++++++++--- .../src/app/services/interceptor.service.ts | 2 +- components/control_center/src/styles.css | 9 +++++-- 5 files changed, 50 insertions(+), 14 deletions(-) diff --git a/components/control_center/src/app/component/landing/landing.component.css b/components/control_center/src/app/component/landing/landing.component.css index ea5170a..4c1354f 100644 --- a/components/control_center/src/app/component/landing/landing.component.css +++ b/components/control_center/src/app/component/landing/landing.component.css @@ -1,5 +1,3 @@ -html, body { - height: 100%; - padding: 0; - margin: 0; +#map{ + height : 100vh; width: 100%; padding:0px; margin: 0px; } diff --git a/components/control_center/src/app/component/landing/landing.component.html b/components/control_center/src/app/component/landing/landing.component.html index 59ad539..fe07621 100644 --- a/components/control_center/src/app/component/landing/landing.component.html +++ b/components/control_center/src/app/component/landing/landing.component.html @@ -1,6 +1,25 @@ - - + + + +

VIN: {{m.value.vin}}

+

OEM: {{m.value.oem}}

+

Model Type: {{m.value.modelType}}

+

Velocity: {{m.value.velocity}}

+

Timestamp: {{m.value.timestamp}}

+
- + + +

Id: {{m.value.id}}

+

Switching Time: {{m.value.switchingTime}}

+

Range: {{m.value.range}}

+

Color: {{m.value.color}}

+

Last Switch: {{m.value.last_switch}}

+
diff --git a/components/control_center/src/app/component/landing/landing.component.ts b/components/control_center/src/app/component/landing/landing.component.ts index 1fa38fa..2611ca9 100644 --- a/components/control_center/src/app/component/landing/landing.component.ts +++ b/components/control_center/src/app/component/landing/landing.component.ts @@ -27,6 +27,7 @@ export class LandingComponent implements OnInit { traffic_light_markers = new Map(); car_markers = new Map(); + infoWindows = new Map(); timeInterval: Subscription; @@ -46,13 +47,16 @@ export class LandingComponent implements OnInit { startWith(0), switchMap(() => this.restService.getCarEvents(vin)) ).subscribe((data: any) => { - const car = data.body['cursor']; - car['vin'] = car['vehicle_identification_number']; + const carEvent = data.body['cursor']; + const car = this.car_markers.get(vin); + car['velocity'] = carEvent['velocity']; + car['timestamp'] = carEvent['timestamp']; + //TODO: if (car['near_crash_event']) { car['iconUrl'] = this.CAR_IMAGE; - car['lat'] = car['gps_location']['latitude']; - car['lng'] = car['gps_location']['longitude']; + car['lat'] = carEvent['gps_location']['latitude']; + car['lng'] = carEvent['gps_location']['longitude']; this.car_markers.set(car['vin'], car); }, @@ -130,5 +134,15 @@ export class LandingComponent implements OnInit { return (trafficLight === 'RED') ? this.TL_RED_IMAGE : this.TL_GREEN_IMAGE; } + openInfoWindow(id) { + this.infoWindows.set(id, true); + } + closeInfoWindow(id) { + this.infoWindows.delete(id); + } + + isInfoWindowOpen(id) { + return this.infoWindows.has(id); + } } diff --git a/components/control_center/src/app/services/interceptor.service.ts b/components/control_center/src/app/services/interceptor.service.ts index 9d9eaab..25d436d 100644 --- a/components/control_center/src/app/services/interceptor.service.ts +++ b/components/control_center/src/app/services/interceptor.service.ts @@ -32,7 +32,7 @@ export class InterceptorService implements HttpInterceptor { } }); - this.logger.debug('Interceptor works'); + //this.logger.debug('Interceptor works'); // pipe the response observable return next.handle(req).pipe( diff --git a/components/control_center/src/styles.css b/components/control_center/src/styles.css index 102e8ab..6873ece 100644 --- a/components/control_center/src/styles.css +++ b/components/control_center/src/styles.css @@ -4,6 +4,11 @@ @import '~bootstrap/dist/css/bootstrap.min.css'; body { - width: 95%; - margin: auto; + width: 100%; + margin: 0; + padding: 0; +} + +.gm-style-iw-a { + opacity: 0.8 !important; }