Erste Schritte mit dem Premium Plan unter Android

Ihre Google Maps APIs Premium Plan-Lizenz bietet erweiterten Support für die Google Maps Android API. In diesem Dokument erfahren Sie, wie Sie mit dem Premium Plan eine Android-App erstellen, die die Google Maps Android API verwendet.

Übersicht

Folgen Sie der Anleitung auf dieser Seite, um das SDK herunterzuladen, Ihr Projekt einzurichten und eine Karte hinzuzufügen. Hier sind die erforderlichen Schritte zusammengefasst:

  1. Laden Sie das SDK herunter.
  2. Fügen Sie das SDK einem neuen oder vorhandenen Android-Projekt hinzu.
  3. Fügen Sie Ihren API-Schlüssel dem App-Manifest hinzu.
  4. Geben Sie die erforderlichen Android-Berechtigungen und OpenGL ES Version 2 an.
  5. Fügen Sie eine Karte hinzu.

SDK herunterladen

Sie können das SDK als statische Bibliothek herunterladen oder den Android SDK Manager verwenden.

Option 1: SDK als statische Bibliothek herunterladen

Laden Sie das neueste Release als statische Bibliothek herunter.

Option 2: SDK mit dem Android SDK Manager herunterladen

In Android Studio:

  1. Wählen Sie Tools > Android > SDK Manager.
  2. Wählen Sie Appearance & Behavior > System Settings > Android SDK.
  3. Klicken Sie auf den Tab SDK Update Sites.
  4. Klicken Sie zum Hinzufügen einer neuen Website auf das Pluszeichen (+).
  5. Geben Sie einen Namen wie „Google Maps for Work“ und anschließend die URL https://dl.google.com/geosdk/android-m4b-addon.xml ein. 1. Klicken Sie auf OK.
  6. Klicken Sie auf den Tab SDK Tools.
  7. Wählen Sie Google Maps Mobile SDK for Work und klicken Sie auf OK, um den Download abzuschließen.

Android Studio installiert die Bibliothek unter <android-sdk-folder>/extras/google/maps_for_business_sdk/.

Im Leitfaden zum Android SDK Manager finden Sie eine Anleitung zur Verwendung des Android SDK Manager als eigenständiges Tool.

SDK zu Ihrem Projekt hinzufügen

Im Folgenden finden Sie die Anleitung für Android Studio. Wenn Sie ein anderes Tool verwenden, lesen Sie die Anleitung in der Android-Dokumentation zur Verwendung der Befehlszeile.

Die Google Maps Android API für den Premium Plan ist in zwei Formaten verfügbar: als aar-Bündel (google-maps-sdk-m4b.aar) und als Bibliotheksmodul (google-maps-sdk-m4b_lib). Sie können das Format wählen, das Ihre Anforderungen am besten erfüllt.

Option 1: SDK aus dem aar-Bündel importieren

Gehen Sie wie folgt vor, um das aar-Bündel (google-maps-sdk-m4b.aar) in Ihr Android Studio-Projekt einzubinden:

  1. Navigieren Sie zum Google Maps APIs Premium Plan im folgenden Verzeichnis:

    <android-sdk>/extras/google/maps_for_business_sdk

  2. Kopieren Sie die Datei google-maps-sdk-m4b.aar in das Verzeichnis libs in Ihrem Projekt. (Falls das Verzeichnis noch nicht existiert, erstellen sie es.)

  3. Fügen Sie in Ihrer Datei build.gradle den folgenden Code hinzu:

    dependencies {
        compile(name:'google-maps-sdk-m4b', ext:'aar')
    
    }
    
    repositories {
        flatDir{
            dirs 'libs'
        }
    }
    
  4. Führen Sie die Konfigurationsschritte aus (siehe unten).

Option 2: SDK als Bibliotheksmodul importieren

Anstatt die aar-Datei zu verwenden, können Sie wie folgt vorgehen, um das SDK-Bibliotheksmodul (google-maps-sdk-m4b_lib) in Android Studio einem vorhandenen Projekt hinzufügen:

  1. Wählen Sie in Android Studio die Option zum Importieren eines neuen Moduls (File -> New -> Import Module).
  2. Navigieren Sie zum SDK im folgenden Verzeichnis:

    <android-sdk>/extras/google/maps_for_business_sdk

  3. Wählen Sie das Verzeichnis google-maps-sdk-m4b_lib und klicken Sie auf Choose.

  4. Übernehmen Sie die Standardwerte im Importassistenten.
  5. Klicken Sie auf Finish. Sie sehen nun eine Textdatei, in der die Ergebnisse des Importvorgangs zusammengefasst sind.
  6. Vergewissern Sie sich, dass die Bibliothek in der Datei settings.gradle enthalten ist:

    include ':googlemapssdkm4b_lib'

  7. Fügen Sie in der Datei build.gradle Ihrer App eine Modulabhängigkeit hinzu:

    compile project(':googlemapssdkm4b_lib')

Vorhandene Konfigurationen konvertieren, die Google Play-Dienste verwenden

  1. Wenn Sie eine App haben, die Google Play-Dienste verwendet, ersetzen Sie alle Verweise auf das Paket com.google.android.gms.maps durch com.google.android.m4b.maps.
  2. Stellen Sie allen Verweisen auf XML-Layoutattribute das Präfix m4b_ voran. Beispiel: m4b_mapType und m4b_cameraZoom.

Einstellungen im App-Manifest angeben

Bei einer Android-App, die die Google Maps Android API verwendet, müssen die folgenden Einstellungen in der Manifest-Datei AndroidManifest.xml angegeben werden:

API-Schlüssel

Generieren Sie einen API-Schlüssel für Ihr Projekt und fügen Sie den Schlüssel der Datei AndroidManifest.xml hinzu. Folgen Sie dabei den Anweisungen im Authentifizierungsleitfaden.

Berechtigungen



Geben Sie die für Ihre Anwendung erforderlichen Berechtigungen an, indem Sie Elemente <uses-permission> als untergeordnete Elemente des Elements <manifest> in AndroidManifest.xml hinzufügen.

Standortberechtigungen

Wenn in Ihrer Anwendung die Ebene „Mein Standort“ aktiviert wird, um auf den aktuellen Standort des Benutzers zuzugreifen, müssen Sie Standortberechtigungen anfordern, wie im Leitfaden zu Standortdaten beschrieben.

Berechtigung zum externen Speichern

Wenn Sie für Ihre Anwendung Google Play Services SDK Version 8.3 oder höher vorgeben, ist die Berechtigung WRITE_EXTERNAL_STORAGE für die Verwendung von Google Maps Android API nicht mehr erforderlich.

Wenn Sie für Ihr Anwendung frühere Versionen von Google Play Services SDK vorgeben, müssen Sie die Berechtigung android.permission.WRITE_EXTERNAL_STORAGE anfordern.

<uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Hinweis: Wenn Sie für Ihre Anwendung API Level 23 (Android 6.0) vorgeben, für die Laufzeitberechtigungen erforderlich sind, müssen Sie mindestens Version 8.3 von Google Play Services SDK vorgeben.

Berechtigungen werden automatisch in Ihr Manifest integriert.

Folgende Berechtigungen sind im Google Play Services-Manifest definiert; sie werden automatisch bei der Erstellung in Ihre App-Manifest integriert. Sie müssen diese nicht explizit zu Ihrem Manifest hinzufügen:

OpenGL ES Version 2



Google Maps Android API verwendet OpenGL ES Version 2 für die Wiedergabe der Karte. Die folgende Einstellung ist im Google Play Services-Manifest definiert; sie wird bei der Erstellung automatisch in Ihr App-Manifest integriert. Sie müssen sie nicht explizit zu Ihrem Manifest hinzufügen:

<uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>

Dadurch werden Informationen zur Anforderung an externe Dienste übermittelt. Insbesondere verhindert sie, dass Ihre App von Google Play Store für Geräte angezeigt wird, die OpenGL ES Version 2 nicht unterstützen.

Eine Karte hinzufügen

Die einfachste Möglichkeit, um zu testen, ob Ihre App richtig konfiguriert ist, besteht darin, eine einfache Karte hinzuzufügen.

Hinweis: Dieser Code sollte nicht in einer Produktions-App verwendet werden.

  1. Fügen Sie der Datei activity_main.xml das folgende Fragment hinzu.

    <?xml version="1.0" encoding="utf-8"?>
    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/map"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:name="com.google.android.m4b.maps.MapFragment"/>
    
  2. Fügen Sie der Datei MainActivity.java folgenden Code hinzu.

    package com.example.mapdemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    }
    

App erstellen und ausführen

Erstellen Sie nun Ihre App und führen Sie sie aus. Eine Karte sollte angezeigt werden.

Fehlerbehebung:

  • Wenn keine Karte angezeigt wird, vergewissern Sie sich, dass Sie alle in diesem Dokument beschriebenen Schritte ausgeführt haben. Vergewissern Sie sich insbesondere, dass Ihr API-Schlüssel korrekt ist und dass Ihr Konto für den Dienst Google Maps APIs Premium Plan aktiviert wurde.

  • Wenn die Anzahl der Methoden in Ihrem Projekt den Grenzwert überschreitet, erhalten Sie möglicherweise die folgende Fehlermeldung:

    Unable to execute dex: method ID not in [0, 0xffff]: 65536

    Weitere Informationen zu Ursachen und Lösungen finden Sie im Android-Entwickler-Leitfaden zum Erstellen von Apps mit über 65.000 Methoden.

  • Wenn Ihr Projekt bereits von Guava abhängig ist, erhalten Sie möglicherweise Fehlermeldungen in Bezug auf Klassenkollisionen wie die folgende:

    com.android.dex.DexException: Multiple dex files define Lcom/google/common/annotations/Beta

    Um dieses Problem zu beheben, können Sie die Guava-Kopie aus dem Verzeichnis google-maps-sdk-m4b_lib/libs löschen.

Weitere Informationen

Migrieren einer vorhandenen App

Die mit dem Premium Plan verfügbare Android API weist große Ähnlichkeit mit der standardmäßigen Google Maps Android API auf. Folglich gestaltet sich der Migrationsvorgang relativ einfach.

  1. Laden Sie die Google Maps Android API für Premium Plan herunter und fügen Sie das SDK wie oben beschrieben Ihrem Projekt hinzu.
  2. Ersetzen Sie alle Verweise auf das Paket com.google.android.gms.maps durch com.google.android.m4b.maps.
  3. Stellen Sie allen Verweisen auf XML-Layoutattribute das Präfix m4b_ voran. Beispiel: m4b_mapType und m4b_cameraZoom.
  4. Generieren Sie einen neuen API-Schlüssel für Ihr Projekt und fügen Sie den Schlüssel der Datei AndroidManifest.xml hinzu. Folgen Sie dabei den Anweisungen im Authentifizierungsleitfaden.
  5. Erstellen Sie Ihre App.

Versionsvergleich

In der folgenden Tabelle sind die wesentlichen Unterschiede zwischen der Verwendung der standardmäßigen Google Maps Android API und der Verwendung der API mit dem Premium Plan aufgeführt.

  Standard-Google Maps Android API Premium Plan
Paketname com.google.android.gms.maps com.google.android.m4b.maps
XML-Attribute in der Layoutdatei Der Attributname wird ohne Präfix verwendet. Beispiel: mapType. Allen Attributnamen muss das Präfix m4b_ vorangestellt werden. Beispiel: m4b_mapType. Weitere Informationen finden Sie in der Dokumentation zu XML-Attributen.
Downloadverzeichnis Enthalten in Google Play-Diensten. Als statische Bibliothek verfügbar.
Supportkanäle Community-basierter Support Zugang zum Premium- Support
Nutzungsbedingungen Unterliegt den Nutzungsbedingungen für Google Maps APIs. Unterliegt den Nutzungsbedingungen für das Google Maps APIs Premium Plan.

Google Play-Dienste

Für die standardmäßige Google Maps Android API ist sowohl das APK als auch die Clientbibliothek der Google Play-Dienste erforderlich. Bei Verwendung mit dem Google Maps APIs Premium Plan ist für das SDK auf dem Zielgerät jedoch nur die Installation des APK der Google Play-Dienste, nicht aber die Clientbibliothek erforderlich.

Wenn Sie Ihre Anwendung zum Premium Plan migrieren, brauchen Sie das SDK für Google Play-Dienste nicht aus Ihrem Projekt zu entfernen. Allerdings müssen Sie sämtliche Verweise auf das Paket com.google.android.gms.maps entfernen. Die Google Play-Dienste enthalten sowohl eine Version der Google Maps Android API als auch andere Google-Dienste. Wenn Sie die Google Play-Dienste in Ihre App einbinden, um andere Google-APIs zu verwenden, vergewissern Sie sich, dass Sie nur das SDK aus dem Premium Plan (das Paket com.google.android.m4b.maps) für den Zugriff auf Maps verwenden.

Auch wenn die Clientbibliothek der Google Play-Dienste nicht erforderlich ist, kann eine Einbindung der Bibliothek hilfreich sein, um andere Google-APIs wie Google+ oder die Location API zu nutzen.

Beispielcode

Das Google Maps-Repository auf GitHub enthält verschiedene Beispiele, anhand derer die Verwendung der Google Maps Android API in Ihrer Android-App illustriert wird. Beachten Sie, dass die Beispiel-Apps das Paket com.google.android.gms.maps verwenden und nicht das Paket com.google.android.m4b.maps, das mit dem Premium Plan verwendet wird. Außerdem erfordern die Beispiel-Apps das SDK für Google Play-Dienste, da sie für Teile der Demo die Location APIs verwenden.

Zudem finden Sie Codeausschnitte auf jeder Seite des Entwickler-Leitfadens.

Dokumentation

Die Hauptinformationsquelle zum Google Maps APIs Premium Plan ist die Entwickler- und Referenzdokumentation auf unserer Website.