|
|
Tässä dokumentissa selostetaan Google maps- rajapinnan käyttö ja mahdollinen implementaatio Angular-komponentissa.
|
|
Tässä dokumentissa selostetaan Google maps- rajapinnan käyttö ja mahdollinen implementaatio Angular-komponentissa. Frontendin koodi löytyy osoitteesta https://gitlab.labranet.jamk.fi/OverFlow/Frontend/tree/staging/src
|
|
|
|
|
|
|
|
### Google Maps API-avain
|
|
### Google Maps API-avain
|
|
|
Google Maps API avaimen voi generoida alla olevan ohjeen mukaisesti
|
|
Google Maps API avaimen voi generoida alla olevan ohjeen mukaisesti
|
| ... | @@ -7,24 +7,34 @@ https://developers.google.com/maps/documentation/javascript/get-api-key |
... | @@ -7,24 +7,34 @@ https://developers.google.com/maps/documentation/javascript/get-api-key |
|
|
|
|
|
|
|
### Angular Google Maps
|
|
### Angular Google Maps
|
|
|
|
|
|
|
|
Overflowin MoTrak järjestelmässä käytettiin Angular Google Mapsia(lyh. AGM) paikantamaan apuvälineitä ulkotilassa. Koska teimme front endin angularilla (Angular 2 JS), me käytiimme Angular Google Mapsia erillisenä angular komponenttina.
|
|
Overflowin MoTrak järjestelmässä käytettiin Angular Google Mapsia (lyh. AGM) paikantamaan apuvälineitä ulkotilassa. Koska teimme front endin angularilla (Angular 2 JS), me käytiimme Angular Google Mapsia erillisenä angular komponenttina.
|
|
|
|
|
|
|
|
Yksinkertaisempi asennus sivulla https://angular-maps.com/guides/getting-started/
|
|
Yksinkertaisempi asennus sivulla https://angular-maps.com/guides/getting-started/
|
|
|
|
|
|
|
|
Meidän toteuksessa on outdoor moduuli, jonka lapsena on agm-maps komponentti. Markereiden data haettiin Teilan cumulocity rajapinnasta erillisessä servicessä (device.service).
|
|
Meidän toteuksessa on outdoor moduuli, jonka lapsena on agm-maps komponentti. Markereiden data haettiin Teilan cumulocity rajapinnasta erillisessä servicessä (device.service).
|
|
|
|
|
|
|
|

|
|

|
|
|
|
|
|
|
Projektin rakenne
|
|
Projektin rakenne
|
|
|
|
|
|
|
|
AGM npm paketti asennetaan komennolla `npm install @agm/core --save`
|
|
AGM npm paketti asennetaan komennolla `npm install @agm/core --save`
|
|
|
|
|
|
|
|
Käytimme erillistä config tiedostoa(app.config.ts) hallinnoimaan API avainta sekä backendin API endpointtia (jälkimmäinen ei liity tähän aiheeseen).
|
|
Käytimme erillistä config tiedostoa(app.config.ts) hallinnoimaan API avainta sekä backendin API endpointtia (jälkimmäinen ei liity tähän aiheeseen).
|
|
|

|
|

|
|
|
|
|
|
|
Tuo app.config tiedosto importataan outdoor moduulin @NgModuleen
|
|
Tuo app.config tiedosto importataan outdoor moduulin @NgModuleen
|
|
|

|
|

|
|
|

|
|

|
|
|
Erillistä config tiedostoa ei ole pakko tehdä, seuraa sen sijaan Angular Mapsin virallista getting started ohjetta.
|
|
|
|
|
|
|
|
|
|
|
Erillistä config tiedostoa ei ole pakko tehdä, seuraa vaihtoehtoisesti Angular Mapsin virallista getting started ohjetta.
|
|
|
|
|
|
|
|
### Datan haku
|
|
|
|
|
|
|
|
Markereiden data haetaan Telian cumulocity rajapinnasta. Front end tekee GraphQL kyselyn tietokannasta getDevices functiolla, joka sijaitsee device.servicessä
|
|
|
|

|
|
|
|
|
|
|
|
Device service importataan outdoor.moduleen
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ... | |
... | |
| ... | | ... | |