Kurzanleitung: Karten hinzufügen

In dieser Anleitung wird kurz beschrieben, wie du eine Android-App mit einer Karte erstellst. Android Studio ist die empfohlene Entwicklungsumgebung zum Erstellen einer App mit dem Maps SDK for Android.

Schritt 1: Android Studio herunterladen

Folge den Anleitungen zum Herunterladen und Installieren von Android Studio.

Schritt 2: Google Play Services SDK installieren

Füge Google Play-Dienste zu Android Studio hinzu.

Schritt 3: Google Maps-Projekt erstellen

Befolge die folgenden Schritte, um ein neues App-Projekt einschließlich einer Google Maps-Aktivität zu erstellen:

  1. Starte Android Studio.
  2. Erstelle mit den folgenden Schritten ein neues Projekt:
    • Wenn das Dialogfeld Welcome to Android Studio erscheint, wähle Start a new Android Studio project aus. Du findest die Option unter „Quick Start“ rechts im Dialogfeld.
    • Klicke andernfalls in der Menüleiste von Android Studio auf File und dann auf New, New Project.
  3. Wähle im Dialogfeld Choose your project den Tab aus, der der Plattform entspricht, für den du die Entwicklung vornehmen möchtest. Die meisten Nutzer behalten die Standardeinstellung Phone and Tablet bei.
  4. Wähle Google Maps Activity aus und klicke auf Next.
  5. Gib den App-Namen, den Paketnamen und den Projektstandort, die Java- oder Kotlin-Version sowie die von deiner App unterstützten minimalen Android API-Level ein und klicke dann auf Finish.

Über Android Studio wird Gradle gestartet und dein Projekt erstellt. Das kann einige Sekunden dauern. Weitere Informationen zum Erstellen eines Projekts in Android Studio findest du in der [Dokumentation zu Android Studio][studio-projects].

Wenn der Erstellungsvorgang abgeschlossen ist, werden die Dateien google_maps_api.xml und MapsActivity.java von Android Studio im Editor geöffnet. (Deine Aktivität hat möglicherweise einen anderen Namen. Es ist jedoch dennoch die Aktivität, die du während der Einrichtung konfiguriert hast.) Die Datei google_maps_api.xml enthält eine Anleitung zum Abrufen eines Google Maps API-Schlüssels. Das ist notwendig, bevor du versuchst, die Anwendung auszuführen. Im nächsten Abschnitt wird näher beschrieben, wie du den API-Schlüssel abrufst.

Schritt 4: Google Maps API-Schlüssel einrichten

  1. Aktiviere die Abrechnung für dein Projekt. Details hierzu findest du unter Rechnungskonto erstellen.
  2. Aktiviere in der Cloud Console das Maps SDK for Android für dein Projekt. Weitere Informationen findest du unter APIs aktivieren.
  3. Folge der Anleitung unter API-Schlüssel anfordern, um einen API-Schlüssel abzurufen, hinzuzufügen und einzuschränken.

Schritt 5: Code ansehen

Überprüfe den in der Vorlage bereitgestellten Code. Sieh dir insbesondere die folgenden Dateien in deinem Android Studio-Projekt an.

Die XML-Layoutdatei

Standardmäßig befindet sich die XML-Datei, die das Layout der App definiert, unter res/layout/activity_maps.xml. Die Datei enthält folgenden Code:

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/map"
    tools:context=".MapsActivity"
    android:name="com.google.android.gms.maps.SupportMapFragment" />

Java-Datei mit Google Maps-Aktivität

Die Java-Datei, die die Google Maps-Aktivität definiert, hat standardmäßig den Namen MapsActivity.java. Nach dem Paketnamen sollte der folgende Code enthalten sein:

Java

// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package com.google.maps.example;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

public class MapsActivity extends AppCompatActivity 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. In this case,
     * we just add a marker near Sydney, Australia.
     *
     * 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, 151);
        mMap.addMarker(new MarkerOptions()
                .position(sydney)
                .title("Marker in Sydney"));
        mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
    }
}

      

Kotlin

// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package com.google.maps.example.kotlin

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

import com.google.android.gms.maps.CameraUpdateFactory
import com.google.android.gms.maps.GoogleMap
import com.google.android.gms.maps.OnMapReadyCallback
import com.google.android.gms.maps.SupportMapFragment
import com.google.android.gms.maps.model.LatLng
import com.google.android.gms.maps.model.MarkerOptions
import com.google.maps.example.R

internal class MapsActivity : AppCompatActivity(), OnMapReadyCallback {

    private lateinit var mMap: GoogleMap

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_maps)
        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        val mapFragment = supportFragmentManager
            .findFragmentById(R.id.map) as SupportMapFragment
        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. In this case,
     * we just add a marker near Sydney, Australia.
     * 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 fun onMapReady(googleMap: GoogleMap) {
        mMap = googleMap

        // Add a marker in Sydney and move the camera
        val sydney = LatLng(-34.0, 151.0)
        mMap.addMarker(MarkerOptions()
            .position(sydney)
            .title("Marker in Sydney"))
        mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney))
    }
}
      

Wenn deine Google Maps-Aktivitätsdatei den oben aufgeführten Code nicht enthält, ersetze den Inhalt der Datei nach dem oben angegebenen Paketnamen.

Schritt 6: Android-Gerät verbinden

Die einfachste Möglichkeit, deine App in Aktion zu sehen, besteht darin, ein Android-Gerät mit deinem Computer zu verbinden. Befolge die Anleitung (in englischer Sprache), um Entwickleroptionen auf deinem Android-Gerät zu aktivieren und deine App und dein System so zu konfigurieren, dass das Gerät erkannt wird.

Alternativ kannst du deine App mit Android Emulator ausführen. Verwende den Android Virtual Device (AVD) Manager, um ein oder mehrere virtuelle Geräte zu konfigurieren, die du beim Erstellen und Ausführen deiner App mit dem Android Emulator verwenden kannst. Achte bei der Auswahl des Emulators darauf, Android 4.1.1 oder höher zu verwenden. Wähle unbedingt ein Image aus, das die Google APIs enthält. Andernfalls fehlen die zum Ausführen erforderlichen Laufzeit-APIs. Beachte außerdem die Anleitung zum Konfigurieren der virtuellen Maschine, die du mit einem Ziel-AVD x86 verwenden kannst, wie in der Anleitung beschrieben. So kannst du den Emulator noch besser nutzen.

Schritt 7: App bereitstellen und ausführen

Klicke in Android Studio auf die Menüoption Run (oder das Abspielsymbol), um die App auszuführen.

Falls du dazu aufgefordert wirst, wähle eines der folgenden Geräte aus:

  • Wähle das Android-Gerät aus, das mit deinem Computer verbunden ist.
  • Alternativ kannst du das Optionsfeld Launch Emulator markieren und das zuvor konfigurierte virtuelle Gerät auswählen.

Klicke auf OK. In Android Studio wird Gradle aufgerufen, um die App zu erstellen. Die Ergebnisse werden dann auf dem Gerät oder im Emulator angezeigt. Es kann einige Minuten dauern, bis die App geöffnet wird.

Nächste Schritte

Werfe gegebenenfalls einen Blick in unseren Beispielcode.

Weitere Informationen zu Kartenobjekten findest du im Entwicklerleitfaden.