Skip to content

Commit 89431e2

Browse files
committed
Show all available shelters on map
1 parent 5be1331 commit 89431e2

File tree

3 files changed

+35
-6
lines changed

3 files changed

+35
-6
lines changed

client/src/app/home/home.component.ts

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import { Component, AfterViewInit } from '@angular/core';
22
import * as mapboxgl from 'mapbox-gl';
33
import * as MapboxGeocoder from '@mapbox/mapbox-gl-geocoder';
44
import { environment } from 'src/environments/environment';
5+
import { SheltersService } from '../_services/shelters.service';
6+
import { AlertService } from '../_services/alert.service';
57

68
@Component({
79
selector: 'app-home',
@@ -12,7 +14,10 @@ export class HomeComponent implements AfterViewInit {
1214

1315
mapboxAccessToken = environment.mapboxAccessToken;
1416

15-
constructor() { }
17+
constructor(
18+
private sheltersService: SheltersService,
19+
private alertService: AlertService
20+
) { }
1621

1722
ngAfterViewInit() {
1823
Object.getOwnPropertyDescriptor(mapboxgl, "accessToken").set(this.mapboxAccessToken);
@@ -21,13 +26,9 @@ export class HomeComponent implements AfterViewInit {
2126
container: 'map',
2227
style: 'mapbox://styles/mapbox/navigation-guidance-night-v4',
2328
center: [72.914294, 19.130722],
24-
zoom: 16
29+
zoom: 12
2530
});
2631

27-
var marker = new mapboxgl.Marker()
28-
.setLngLat([72.914294, 19.130722])
29-
.addTo(map);
30-
3132
map.addControl(new mapboxgl.GeolocateControl({
3233
positionOptions: {
3334
enableHighAccuracy: true
@@ -38,6 +39,34 @@ export class HomeComponent implements AfterViewInit {
3839
map.addControl(new MapboxGeocoder({
3940
accessToken: mapboxgl.accessToken
4041
}));
42+
43+
var personMarkerDiv = document.createElement('div');
44+
personMarkerDiv.style.backgroundImage = 'url("../../assets/person.png")';
45+
personMarkerDiv.style.width = '100px';
46+
personMarkerDiv.style.height = '100px';
47+
personMarkerDiv.style.backgroundRepeat = 'no-repeat'
48+
49+
this.sheltersService.getAllShelters()
50+
.subscribe(
51+
(res) => {
52+
var i = 0;
53+
for (i = 0; i < res.length; i++) {
54+
var shelterMarkerDiv = document.createElement('div');
55+
shelterMarkerDiv.style.backgroundImage = 'url("../../assets/shelter.png")';
56+
shelterMarkerDiv.style.width = '50px';
57+
shelterMarkerDiv.style.height = '50px';
58+
shelterMarkerDiv.style.backgroundRepeat = 'no-repeat'
59+
60+
const shelter = res[i];
61+
console.log(shelter);
62+
63+
new mapboxgl.Marker(shelterMarkerDiv)
64+
.setLngLat(shelter.lngLat.split(','))
65+
.addTo(map);
66+
}
67+
},
68+
(err) => this.alertService.error(err)
69+
)
4170
}
4271

4372
}

client/src/assets/person.png

3.52 KB
Loading

client/src/assets/shelter.png

4.04 KB
Loading

0 commit comments

Comments
 (0)