GPS-Sporing

Utvikle en webapplikasjon som lar brukeren spore sin geografiske posisjon ved hjelp av GPS, visualisere bevegelsen på et OpenStreetMap-kart med en posisjonsindikator, legge til interessepunkter, lagre sporingsdata for forskjellige “sesjoner” lokalt, vise lagrede sesjoner på kartet, og slette individuelle sporingsøkter.

  1. Kartvisning:
    • Integrer et OpenStreetMap-kart ved hjelp av OpenLayers.
    • Kartet skal sentreres på brukerens startposisjon (hvis tilgjengelig ved oppstart).
  2. Start/Stopp Tracking:
    • Implementer en knapp med teksten “Start Tracking”. Når denne trykkes:
      • Start kontinuerlig innhenting av brukerens geografiske posisjon ved hjelp av nettleserens navigator.geolocation API.
      • Vis en visuell indikator (f.eks., endre teksten på knappen til “Stopp Tracking”).
      • Kartet skal sentrere seg på den første mottatte GPS-posisjonen etter at sporingen starter.
    • Når “Stopp Tracking”-knappen trykkes:
      • Stopp innhentingen av geografisk posisjon.
      • Tegn en linje (path) på kartet som forbinder alle de registrerte posisjonene fra starten til stoppen av denne “sesjonen”.
      • Lagre dataene for denne “sesjonen” lokalt i nettleserens localStorage. Dataene skal inkludere: starttidspunkt, sluttidspunkt, og en liste over alle registrerte koordinater (latitude, longitude) i tidsrekkefølge.
  3. Posisjonsindikator:
    • Vis en tydelig indikator (f.eks., en blå sirkel) på kartet som representerer brukerens nåværende geografiske posisjon under aktiv sporing.
  4. Legg til Punkt:
    • Implementer en knapp med teksten “Legg til Punkt”. Når denne trykkes:
      • Hent brukerens nåværende geografiske posisjon.
      • Plasser en markør på kartet på denne posisjonen.
      • Lagre koordinatene og et tidsstempel for dette punktet, knyttet til den aktive sporingssesjonen (hvis en pågår) eller som et frittstående punkt.
  5. Lagring av Data:
    • All sporingsdata (start/stopp-sesjoner med tilhørende koordinater og tidspunkter, samt individuelle punkter) skal lagres i nettleserens localStorage.
    • Dataene skal organiseres slik at forskjellige “sesjoner” kan identifiseres.
  6. Visning av “Sessions”:
    • Lag et område på siden hvor brukeren kan se en liste over lagrede sporings”sesjoner” (f.eks., med start- og sluttidspunkt).
    • Når en “sesjon” velges fra listen:
      • Last inn de tilhørende dataene (koordinater, punkter).
      • Vis sporet (path) på kartet med en distinkt farge.
      • Vis eventuelle lagrede punkter for den valgte sesjonen som markører på kartet.
      • Zoom og sentrer kartet slik at hele sporet er synlig (med litt padding).
  7. Slette Økter:
    • Implementer en “Slett”-knapp ved siden av hver lagrede sporingsøkt i listen.
    • Når slett-knappen trykkes for en spesifikk økt, skal den økten fjernes fra localStorage og fra listen som vises på siden. Hvis den slettede økten vises på kartet, skal den også fjernes derfra.

Tekniske Hint

Vurderingskriterier

Forslag til løsning


Relaterte kompetansemål

Relaterte emner