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. - - - - - +
+
+ +
+
+ + + + + +
+
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;