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