diff --git a/src/app/dashboard/dashboard.module.ts b/src/app/dashboard/dashboard.module.ts
index f584ef4..a8c59b0 100644
--- a/src/app/dashboard/dashboard.module.ts
+++ b/src/app/dashboard/dashboard.module.ts
@@ -4,7 +4,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { ChartsModule } from 'ng2-charts/ng2-charts';
import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
import { NgxPaginationModule } from 'ngx-pagination';
-import { AgmCoreModule } from '@agm/core';
+import { AgmCoreModule, GoogleMapsAPIWrapper } from '@agm/core';
import { CurrencyPipe } from '@angular/common';
@@ -62,7 +62,8 @@ import { environment } from '../../environments/environment';
GraphPanel,
],
providers: [
- CurrencyPipe
+ CurrencyPipe,
+ GoogleMapsAPIWrapper,
],
})
export class DashboardModule { }
diff --git a/src/app/dashboard/map.component.html b/src/app/dashboard/map.component.html
index 8626466..646009f 100644
--- a/src/app/dashboard/map.component.html
+++ b/src/app/dashboard/map.component.html
@@ -6,11 +6,26 @@
Supplier Map
Required Data marked in bold.
-
-
-
-
-
+
+
+
+ No map data received, check your connection.
+
+
+
+
diff --git a/src/app/dashboard/map.component.ts b/src/app/dashboard/map.component.ts
index e39e853..71b7274 100644
--- a/src/app/dashboard/map.component.ts
+++ b/src/app/dashboard/map.component.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit } from '@angular/core';
+import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { Http, Response } from '@angular/http';
import { ApiService } from '../providers/api-service';
import { AgmCoreModule } from '@agm/core';
@@ -13,13 +13,47 @@ export class MapComponent implements OnInit {
lng: number = -2.8007;
zoom: number = 12;
+ dataReceived: string = 'yes';
+
+ map: any;
+
constructor(
private http: Http,
private api: ApiService,
) { }
- ngOnInit(): void {
+ ngOnInit(): void { }
+ public onMapReady(map: any) {
+ this.map = map;
}
+ public viewBoundsChanged() {
+ console.log("finding bounds");
+ const resp = this.map.getBounds();
+ console.log("found bounds");
+ console.log(resp.getNorthEast().lat());
+ console.log(resp.getNorthEast().lng());
+ console.log(resp.getSouthWest().lat());
+ console.log(resp.getSouthWest().lng());
+ const mapData = {
+ north_east_lat: resp.getNorthEast().lat(),
+ north_east_lng: resp.getNorthEast().lng(),
+ south_west_lat: resp.getSouthWest().lat(),
+ south_west_lng: resp.getSouthWest().lng()
+ };
+ this.api.getMapData(mapData).subscribe(
+ result => {
+ this.dataReceived = 'yes';
+ },
+ error => {
+ // this.dataReceived = 'no';
+ console.log('Retrieval Error');
+ console.log( error._body );
+ }
+ );
+ }
+
+
+
}
diff --git a/src/app/providers/api-service.ts b/src/app/providers/api-service.ts
index 6c6ea47..4bc910d 100644
--- a/src/app/providers/api-service.ts
+++ b/src/app/providers/api-service.ts
@@ -264,6 +264,15 @@ export class ApiService {
).map( response => response.json() );
}
+ // Initial Map Data
+ public getMapData(data) {
+ data.session_key = this.sessionKey;
+ return this.http.post(
+ this.apiUrl + '/map',
+ data
+ ).map( response => response.json() );
+ }
+
// Basic Customer User stats API
public basicStats() {
const key = this.sessionKey;