Google Maps Android: Steg-for-steg veiledning

Introduksjon

Google Maps er en solid karttjeneste som åpner for mange muligheter for utviklere som ønsker å implementere stedsbaserte funksjoner i Android-appene sine. Med Google Maps Android API kan man integrere kart i applikasjoner, spore brukerens posisjon, generere veibeskrivelser, og mye mer.

I denne veiledningen skal vi gå gjennom trinnene for å bruke Google Maps Android API for å lage en enkel app som viser et kart. Vi vil dekke følgende:

  • Opprettelse av et Google Maps-prosjekt
  • Import av Google Maps Android API
  • Inkludering av et kartfragment i appens layout
  • Tilpasning av kartinnstillinger
  • Visning av brukerens posisjon
  • Generering av veibeskrivelser

Opprettelse av et Google Maps-prosjekt

Før man kan bruke Google Maps Android API, må et Google Maps-prosjekt opprettes og en API-nøkkel genereres. Dette gjøres i Google Cloud Platform-konsollen:

  1. Klikk på «Opprett prosjekt».
  2. Angi et prosjektnavn og klikk på «Opprett».
  3. I venstremenyen, klikk på «API-er og tjenester» og deretter «Oversikt».
  4. Klikk på «Aktiver API-er og tjenester» og søk etter «Google Maps Android API».
  5. Klikk på «Aktiver» ved siden av «Google Maps Android API».
  6. I venstremenyen, klikk på «Legitimasjon» og deretter «Opprett legitimasjon».
  7. Velg «API-nøkkel».
  8. Velg «Android-app» som type nøkkel.
  9. Legg inn SHA-1-fingeravtrykket til appen din (se dokumentasjonen for Android Studio for detaljer om hvordan du finner SHA-1-fingeravtrykket).
  10. Klikk på «Opprett».

Import av Google Maps Android API

For å importere Google Maps Android API i Android-prosjektet ditt, legg til følgende avhengighet i build.gradle-filen:


implementation 'com.google.android.gms:play-services-maps:18.0.2'

Inkludering av et kartfragment i layouten

For å vise et kart i appen, må et kartfragment legges til i layouten. Legg til følgende kode i XML-layoutfilen:


<fragment
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="com.google.android.gms.maps.SupportMapFragment" />

Tilpasning av kartinnstillinger

Du kan konfigurere kartinnstillingene ved å bruke `getMapAsync()`-metoden fra kartfragmentet. Denne metoden returnerer et `GoogleMap`-objekt som lar deg konfigurere innstillinger som karttype, initial kameraposisjon og zoomnivå:


private void setupMap() {
    map.getMapAsync(new OnMapReadyCallback() {
        @Override
        public void onMapReady(GoogleMap googleMap) {
            googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
            googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 15));
        }
    });
}

Visning av brukerens posisjon

Med tillatelse fra brukeren kan du vise posisjonen deres på kartet ved å bruke `setMyLocationEnabled()`-metoden fra `GoogleMap`-objektet:


googleMap.setMyLocationEnabled(true);

Generering av veibeskrivelser

Veibeskrivelser mellom to punkter kan genereres ved å bruke `addMarker()`- og `addPolyline()`-metodene fra `GoogleMap`-objektet:


private void generateDirections(LatLng origin, LatLng destination) {
    String url = "https://maps.googleapis.com/maps/api/directions/json?" +
            "origin=" + origin.latitude + "," + origin.longitude +
            "&destination=" + destination.latitude + "," + destination.longitude +
            "&key=" + API_KEY;

    JsonObject request = new JsonObject();
    request.addProperty("url", url);

    JsonElement response = Volley.newRequestQueue(this).add(request);
    // Parse the response and add the polyline to the map
}

Konklusjon

I denne veiledningen har du lært hvordan du bruker Google Maps Android API for å utvikle en enkel app som viser et kart. Vi har dekket:

  • Opprettelse av et Google Maps-prosjekt
  • Import av Google Maps Android API
  • Inkludering av et kartfragment i layouten
  • Tilpasning av kartinnstillinger
  • Visning av brukerens posisjon
  • Generering av veibeskrivelser

Med denne kunnskapen kan du begynne å implementere stedsbaserte funksjoner i dine egne Android-applikasjoner.

Ofte stilte spørsmål (FAQ)

  • Hvordan får jeg en API-nøkkel for Google Maps Android API?
    Du genererer en API-nøkkel i Google Cloud Platform-konsollen.
  • Hvordan endrer jeg karttype?
    Bruk `setMapType()`-metoden fra `GoogleMap`-objektet.
  • Hvordan justerer jeg zoomnivået på kartet?
    Bruk `moveCamera()`-metoden fra `GoogleMap`-objektet.
  • Hvordan sporer jeg brukerens posisjon?
    Bruk `setMyLocationEnabled()`-metoden fra `GoogleMap`-objektet.
  • Hvordan genererer jeg veibeskrivelser?
    Bruk `addMarker()`- og `addPolyline()`-metodene fra `GoogleMap`-objektet.
  • Kan jeg legge til egendefinerte markører på kartet?
    Ja, du kan legge til markører med `addMarker()`-metoden fra `GoogleMap`-objektet.
  • Kan jeg vise flere kart i én aktivitet?
    Ja, du kan legge til flere kartfragmenter i layouten.
  • Hvordan tilpasser jeg interaksjon med kartet?
    Du kan tilpasse kartinteraksjoner ved hjelp av ulike innstillinger i `GoogleMap`-objektet, som brukergrensesnittinnstillinger og kamerakontrollinnstillinger.