25/12/2024
Google Maps SDK til Android er et kraftfuldt værktøj, der giver udviklere mulighed for at integrere Google Maps direkte i deres Android- og Wear OS-applikationer. Dette åbner op for en verden af muligheder for at vise geografiske data, give brugerne mulighed for at navigere og interagere med kort på en intuitiv måde. Uanset om du bygger en simpel app, der viser en lokation, eller en kompleks applikation med avancerede kortfunktioner, er Maps SDK'en vejen frem.

Kom godt i gang med Maps SDK til Android
For at kunne bruge Maps SDK'en i din Android-app, skal du følge en række trin. Disse trin sikrer, at din app er korrekt konfigureret, og at du har de nødvendige tilladelser til at bruge Google Maps-data. Processen involverer typisk:
- Opsætning af dit udviklingsmiljø: Sørg for, at du har Android Studio installeret og konfigureret korrekt.
- Oprettelse af et projekt: Start et nyt Android-projekt eller brug et eksisterende.
- Indhentning af en API-nøgle: En API-nøgle er essentiel for at autentificere din app og bruge Google Maps Platform-tjenester.
- Aktivering af fakturering: Google Maps Platform opererer med en prismodel, så fakturering skal aktiveres for din projekt.
- Konfiguration af projektet: Tilføj de nødvendige SDK-afhængigheder og konfigurer din app til at bruge API-nøglen.
Grundlæggende Kortvisning
Det mest fundamentale trin er at få et kort til at blive vist i din app. Dette gøres ved at tilføje et SupportMapFragment eller MapView til din app's layout-fil. Disse komponenter fungerer som beholdere for kortet og håndterer dets livscyklus.
Tilføjelse af et Kort til din Layout-fil
Åbn din app's layout-fil (typisk i res/layout/ mappen) og tilføj følgende XML-kode:
<fragment xmlns:android="http://schemas.android.com/apk/res/android" xmlns:map="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MapsActivity" />Denne kode indsætter et SupportMapFragment, som er den anbefalede måde at integrere kort på, da det håndterer opdateringer af kortet automatisk. Husk at angive en passende android:name, som normalt er com.google.android.gms.maps.SupportMapFragment.
Hentning af en Reference til Kortet
I din Activity eller Fragment skal du hente en reference til kortet og initialisere det. Dette gøres typisk i onCreate-metoden:
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { private GoogleMap mMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_maps); // Obtain the SupportMapFragment and get notified when the map is ready to be used. SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this); } /** * Manipulates the map once available. * This callback is triggered when the map is ready to be used. * This is where we can add markers or lines, add listeners or move the camera. * If Google Play services is not installed on the device, the user will be prompted to * install it inside the SupportMapFragment. This method will only be triggered once the * user has installed Google Play services and returned to the app. */ @Override public void onMapReady(GoogleMap googleMap) { mMap = googleMap; // Add a marker in Sydney and move the camera LatLng sydney = new LatLng(-34.0, 151.0); mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); } } Du skal implementere OnMapReadyCallback-interfacet og overskrive onMapReady-metoden. Denne metode kaldes, når kortet er klar til brug. Her kan du begynde at tilføje markører, flytte kameraet og konfigurere kortets udseende.
API-nøgler og Faktureringsopsætning
For at bruge Google Maps SDK'en kræves en API-nøgle. Denne nøgle er knyttet til din Google Cloud Platform-konto og giver dig adgang til Googles korttjenester. Det er vigtigt at aktivere fakturering for din Google Cloud-projekt, da brugen af Maps SDK'en kan medføre omkostninger, afhængigt af forbruget.
Sådan får du en API-nøgle:
- Gå til Google Cloud Console.
- Opret et nyt projekt eller vælg et eksisterende.
- Naviger til 'APIs & Services' > 'Credentials'.
- Klik på 'Create Credentials' og vælg 'API key'.
- Begræns din API-nøgle til Android-apps ved at angive din app's SHA-1-certifikat-fingerprint og pakkenavn. Dette forhindrer uautoriseret brug.
- Aktiver 'Maps SDK for Android' under 'APIs & Services' > 'Library'.
Aktivering af Fakturering:
- I Google Cloud Console, naviger til 'Billing'.
- Aktiver fakturering for dit projekt. Du kan ofte drage fordel af en gratis prøveperiode eller en generøs gratis kvote.
Din API-nøgle skal tilføjes til din app's AndroidManifest.xml-fil:
<meta-data android:name="com.google.android.geo.API_KEY" android:value="DIN_API_NØGLE" />Tilføjelse af Markører, Polygoner og Overlays
Maps SDK'en giver dig mulighed for at gøre dine kort interaktive ved at tilføje forskellige elementer:
Markører:
Markører bruges til at angive specifikke lokationer på kortet. Du kan tilpasse markørens udseende, tilføje ikoner og vise information, når brugeren klikker på dem.

// Add a marker in a specific location LatLng location = new LatLng(latitude, longitude); mMap.addMarker(new MarkerOptions() .position(location) .title("Min lokation") .snippet("Dette er en vigtig lokation.") .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))); // Custom color // Move camera to the marker mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(location, 12)); Polygoner og Linjer:
Du kan tegne polygoner til at markere områder eller linjer til at vise ruter. Dette er nyttigt til at visualisere grænser, områder af interesse eller stier.
// Draw a polygon Polygon polygon = mMap.addPolygon(new PolygonOptions() .add(new LatLng(lat1, lon1), new LatLng(lat2, lon2), new LatLng(lat3, lon3)) .strokeColor(Color.RED) .fillColor(Color.BLUE)); // Draw a polyline Polyline polyline = mMap.addPolyline(new PolylineOptions() .add(new LatLng(latA, lonA), new LatLng(latB, lonB)) .width(10) .color(Color.GREEN)); Overlays:
Overlays giver dig mulighed for at placere billeder eller andre grafiske elementer oven på kortet, hvilket kan bruges til at vise egne kortdata eller illustrationer.
Brugerinteraktion og Kamera
Maps SDK'en giver dig fuld kontrol over brugerinteraktioner og kameraets bevægelser. Du kan håndtere klik på markører, ændre kortets visningstilstand (normal, satellit, terræn) og animere kameraets bevægelser for en bedre brugeroplevelse.
Håndtering af Markørklik:
Du kan tilføje en OnMarkerClickListener for at reagere, når en bruger klikker på en markør:
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() { @Override public boolean onMarkerClick(Marker marker) { // Handle marker click event Toast.makeText(MapsActivity.this, "Du klikkede på: " + marker.getTitle(), Toast.LENGTH_SHORT).show(); return false; // Return true to consume the event, false to allow default behavior } }); Kameraets Bevægelser:
Du kan flytte kameraet til en bestemt lokation, zoome ind/ud eller panorere kortet:
// Move camera to a specific location with animation mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat, lon), 15)); // Change map type mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE); Avancerede Funktioner og Værktøjer
Udover de grundlæggende funktioner tilbyder Maps SDK'en en række avancerede muligheder:
- Geo-fencing: Opret geografiske hegn for at udløse handlinger, når en bruger krydser bestemte grænser.
- Heatmaps: Visualiser datadensiteter på kortet.
- Tile Overlays: Tilføj brugerdefinerede kortfliser til at vise specifikke data.
- Places API Integration: Hent detaljerede oplysninger om steder, såsom butikker, restauranter osv.
- Kotlin og Java Support: SDK'en understøtter begge programmeringssprog, hvilket giver fleksibilitet.
Tabel: Maps SDK Vigtige Komponenter
| Komponent | Beskrivelse |
|---|---|
SupportMapFragment | En fragment-baseret komponent til visning af kort. |
MapView | En visningskomponent til kort, der kræver manuel håndtering af livscyklus. |
GoogleMap | Hovedobjektet til interaktion med kortet. |
Marker | Et ikon på kortet, der repræsenterer en lokation. |
PolygonOptions | Definerer egenskaberne for en polygon. |
PolylineOptions | Definerer egenskaberne for en linje. |
Ofte Stillede Spørgsmål (FAQ)
- Hvordan opdaterer jeg API-nøglen?
- Du kan opdatere din API-nøgle i Google Cloud Console under 'Credentials'. Husk at genstarte din app efter ændringer.
- Hvad hvis min app crasher med en fejl relateret til Google Play Services?
- Sørg for, at Google Play Services er installeret og opdateret på den enhed, du tester på. Inkluder også de nødvendige afhængigheder i din
build.gradle-fil. - Kan jeg bruge Maps SDK'en med Kotlin?
- Ja, Maps SDK'en understøtter både Kotlin og Java. Du kan bruge SDK'en med de samme API'er, uanset hvilket sprog du foretrækker.
- Hvad er omkostningerne ved at bruge Maps SDK'en?
- Google Maps Platform har en prismodel baseret på forbrug. Besøg Googles hjemmeside for detaljer om priser og den gratis kvote.
- Hvordan kan jeg optimere kortets ydeevne?
- Undgå at indlæse for mange markører på én gang. Brug markør-clustering eller andre optimeringsteknikker til at forbedre ydeevnen på enheder med begrænsede ressourcer.
Ved at følge denne guide og udforske den rige funktionalitet i Google Maps SDK til Android, kan du skabe engagerende og informative kortoplevelser i dine mobile applikationer.
Hvis du vil læse andre artikler, der ligner Google Maps SDK til Android: En guide, kan du besøge kategorien Teknologi.
