Es kann losgehen!

Bevor Sie mit der Entwicklung beginnen, lesen Sie bitte unsere Entwicklerdokumentation.

Die Google Places API for Android aktivieren

Zum Einstieg führen wir Sie durch die Google Developers Console, wo Sie vorab Folgendes tun müssen:

  1. Ein Projekt erstellen oder auswählen
  2. Die Google Places API for Android aktivieren
  3. Zugehörige Schlüssel erstellen
Weiter

Ort hinzufügen

Mit Google Places API for Android können Sie einen Ort zur Datenbank „Google Places“ hinzufügen. Der neu hinzugefügte Ort ist nur Sekunden später in Ihrer App verfügbar und wird einer Moderationswarteschlange hinzugefügt, um eventuell in die Datenbank „Places“ von Google und in Google Maps aufgenommen zu werden.

  1. Ort hinzufügen
  2. Mehrere Orts-IDs und Orts-ID-Bereichsdefinitionen bearbeiten

Ort hinzufügen

Wenn Sie einen Ort hinzufügen möchten, rufen Sie die Methode GeoDataApi.addPlace(), die das Objekt AddPlaceRequest übergibt, das Details zu dem hinzuzufügenden Ort angibt.

Schließen Sie die folgenden Informationen beim Erstellen des Objekts AddPlaceRequest mit ein:

  • Erforderlich: Vollständiger name des Unternehmens, der Sehenswürdigkeit oder eines anderen Orts in Textform. Die max. Länge beträgt 255 Zeichen.
  • Erforderlich: Das Objekt LatLng, das die Position des Orts angibt.
  • Erforderlich: Die address des Orts in einer visuell lesbaren Form. Wenn ein Ort in einer richtig formatierten, lesbaren Form angegeben wird, steigt die Wahrscheinlichkeit, durch den Moderationsprozess weitergeleitet und in die Datenbank „Google Places“ aufgenommen zu werden.
  • Erforderlich: Eine Liste der Ortstypen, die diesen Ort beschreiben. Eine Liste der verfügbaren Ortstypen finden Sie in der Dokumentation zu Ortstypen. Konstanten sind in der Schnittstelle Place definiert.
  • Optional: Die phoneNumber des Orts. Die Telefonnummer muss im internationalen Format eingegeben werden. Das internationale Format umfasst die Ländervorwahl mit einem vorangestellten Pluszeichen (+). Beispiel: Die internationale Telefonnummer für den Google Firmensitz in Mountain View, USA, ist +1 650-253-0000. Wenn für einen Ort eine richtig formatierte Telefonnummer angegeben wird, steigt die Wahrscheinlichkeit, durch den Moderationsprozess weitergeleitet und in die Datenbank „Google Places“ aufgenommen zu werden. Hinweis: Sie müssen entweder phoneNumber oder Uri oder beides angeben.
  • Optional: Das Objekt Uri mit der Adresse der autoritativen Webseite für diesen Ort, wie beispielsweise die Homepage des Unternehmens. Wenn für einen Ort eine richtig formatierte Telefonnummer angegeben wird, steigt die Wahrscheinlichkeit, durch den Moderationsprozess weitergeleitet und in die Datenbank „Google Places“ aufgenommen zu werden. Hinweis: Sie müssen entweder phoneNumber oder Uri oder beides angeben.

Über die API wird ein PlaceBuffer in einem PendingResult zurückgegeben. PlaceBuffer enthält den hinzugefügten Ort.

Das sich ergebende Objekt Place hat eine eindeutige Orts-ID, die Ihre App unverzüglich zum Anfordern der Ortsdetails verwenden kann. Hinzugefügte Orte sind außerdem nach kurzer Zeit in den Ergebnissen der von Ihrer App initiierten Anforderungen vom Typ get-current-place sowie in einer durch Ihre App angezeigten Ortsauswahl verfügbar. Bereichsdefinitionen sind abhängig von der Projekt-ID, die für das Generieren Ihres API-Schlüssels verwendet wird.

Neu hinzugefügte Orte durchlaufen eine Moderationswarteschlange zur Entscheidung, ob sie in die Datenbank „Google Places“ aufgenommen werden. Orte, die den Moderationsprozess nicht bestehen, können Sie weiterhin über die Orts-ID in der einreichenden App abrufen. Diese Orte werden aber nicht mehr in den Ergebnissen der Anforderungen „get-current-places“, in der API-Auswahl oder mit irgendeiner anderen API-Methode angezeigt. Orte, die den Moderationsprozess durchlaufen, sind in allen Apps und in Google Maps sichtbar.

Um die Chance zu erhöhen, dass der Ort durch den Moderationsprozess geführt wird und der Datenbank „Places“ von Google hinzugefügt wird, sollte die diesbezügliche Anfrage so viele Informationen wie möglich enthalten. Das sind insbesondere Adresse, Telefonnummer und Website.

Der folgende Beispielcode fügt ein Naturschutzgebiet bei Manly an der australischen Ostküste hinzu.

AddPlaceRequest place =
    new AddPlaceRequest(
        "Manly Sea Life Sanctuary", // Name
        new LatLng(-33.7991, 151.2813), // Latitude and longitude
        "W Esplanade, Manly NSW 2095", // Address
        Collections.singletonList(Place.TYPE_AQUARIUM), // Place types
        "+61 1800 199 742", // Phone number
        Uri.parse("http://www.manlysealifesanctuary.com.au/") // Website
    );

Places.GeoDataApi.addPlace(mGoogleApiClient, place)
    .setResultCallback(new ResultCallback<PlaceBuffer>() {
        @Override
        public void onResult(PlaceBuffer places) {
            Log.i(TAG, "Place add result: " + places.getStatus().toString());
            Log.i(TAG, "Added place: " + places.get(0).getName().toString());
            places.release();
        }
    });

Mehrere Orts-IDs und Orts-ID-Bereichsdefinitionen bearbeiten

Jede Orts-ID kann nur auf einen Ort verweisen, ein Ort kann jedoch mehrere Orts-IDs aufweisen. Mehrere Orts-IDs für einen Ort kommen meist dann vor, wenn Sie einen Ort hinzugefügt haben, der bereichsmäßig ursprünglich für Ihre App definiert war und dann eine Google-weite Bereichsdefinition erhält.

Sobald Sie einen Ort hinzufügen, erhalten Sie unverzüglich eine Orts-ID für den neuen Ort. Die Orts-ID ist bereichsmäßig nur für Ihre App definiert. Der Ort durchläuft eine Moderationswarteschlange zur Entscheidung, ob er in die Datenbank „Google Places“ aufgenommen wird. Wird der Ort bestätigt, erhält er eine neue Orts-ID, die in allen Apps und in Google Maps sichtbar ist.

Wenn Sie einen Ort per Eingabe einer Orts-ID anfordern, werden Sie mit Sicherheit immer denselben Ort (sofern noch bestehend) in der Antwort erhalten.

Beachten Sie jedoch, dass die Antwort eine Orts-ID enthalten kann, die von der in Ihrer Anforderung abweicht. Weitere Informationen finden Sie unter Orts-ID Übersicht.

Feedback geben zu...

location_on
Google Places API for Android