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

Aktueller Ort

Mit Google Places API for Android können Sie den Ort ermitteln, an dem sich das Gerät aktuell befindet. Also den Ort, an dem das Gerät derzeit gemeldet ist. Orte sind beispielsweise örtliche Unternehmen, Points of Interest oder geografische Punkte.

Berechtigungen

Wenn Ihre App PlaceDetectionApi.getCurrentPlace() verwendet, müssen Sie die Genehmigung ACCESS_FINE_LOCATION anfordern.

Neues Berechtigungsmodell in Android 6.0 Marshmallow



Mit Android 6.0 (Marshmallow) wird ein neues Modell zur Handhabung von Berechtigungen eingeführt, das den Installations- und Upgradevorgang von Apps für den Nutzer vereinfacht. Wenn Sie zum Beispiel Google Play-Dienste der Version 8.1 oder höher verwenden, können Sie Ihre App für das Android 6.0 Marshmallow SDK konfigurieren und das neue Berechtigungsmodell verwenden.

Falls von Ihrer App das neue Berechtigungsmodell unterstützt wird, muss der Nutzer bei Installation oder Upgrade der App keine weiteren Berechtigungen erteilen. Stattdessen muss die App zur Laufzeit Berechtigungen anfordern, wenn sie diese benötigt, und der Nutzer kann in einem angezeigten kleinen Fenster die Berechtigung erteilen.

Weitere Informationen, auch zu den Änderungen, die Sie an Ihrer App für das neue Berechtigungsmodell vornehmen müssen, finden Sie in der Dokumentation zu Android 6.0 Marshmallow.

Nutzungsbeschränkungen

Die Verwendung der Methode PlaceDetectionApi.getCurrentPlace() unterliegt mehrstufigen Abfragebeschränkungen. Weitere Informationen dazu finden Sie in der Dokumentation zu Nutzungsbeschränkungen.

Aktuellen Standort anfordern

Mit Aufrufen der Methode PlaceDetectionApi.getCurrentPlace() können Sie ein lokales Unternehmen oder den Ort ermitteln, an dem sich das Gerät aktuell befindet.

Sie können optional einen PlaceFilter angeben, um die Ergebnisse auf eine oder mehrere (bis max. 10) Orts-ID einzuschränken oder nur Orte auszuwählen, die aktuell geöffnet sind. Ist kein Filter angegeben, werden die Ergebnisse nicht gefiltert.

Die API gibt einen PlaceLikelihoodBuffer in einem PendingResult zurück. Der PlaceLikelihoodBuffer enthält eine Liste der PlaceLikelihood-Objekte, die für wahrscheinliche Orte stehen. Das Ergebnis für einen Ort schließt eine Angabe zur Wahrscheinlichkeit mit ein, mit der der Ort der richtige ist. Der Puffer kann leer sein, wenn kein bekannter Ort den Filterkriterien entspricht.

Sie können PlaceLikelihood.getPlace() aufrufen, um das Objekt Place abzurufen, bzw. die Methode PlaceLikelihood.getLikelihood() aufrufen, um die Wahrscheinlichkeitsbewertung eines Orts anzufordern. Ein hoher Wert steht für eine hohe Wahrscheinlichkeit, dass der zurückgegebene Ort die beste Übereinstimmung mit den Kriterien aufweist.

Der folgende Beispielcode ruft die Liste der Orte ab, in denen sich das Gerät sehr wahrscheinlich befindet. Er protokolliert den Namen und die Wahrscheinlichkeit der einzelnen Orte.

PendingResult<PlaceLikelihoodBuffer> result = Places.PlaceDetectionApi
    .getCurrentPlace(mGoogleApiClient, null);
result.setResultCallback(new ResultCallback<PlaceLikelihoodBuffer>() {
  @Override
  public void onResult(PlaceLikelihoodBuffer likelyPlaces) {
    for (PlaceLikelihood placeLikelihood : likelyPlaces) {
      Log.i(TAG, String.format("Place '%s' has likelihood: %g",
          placeLikelihood.getPlace().getName(),
          placeLikelihood.getLikelihood()));
    }
    likelyPlaces.release();
  }
});

Anmerkungen zu den Wahrscheinlichkeitswerten

  • Die Wahrscheinlichkeit macht eine relative Aussage über den Ort, der die größte Übereinstimmung mit der Liste der zurückgegebenen Orte auf eine einzige Anforderung hat. Sie können keine Wahrscheinlichkeiten von mehreren Anforderungen vergleichen.
  • Der Wahrscheinlichkeitswert liegt zwischen 0 und 1,0.
  • Die Summe der Wahrscheinlichkeiten in einem bestimmten PlaceLikelihoodBuffer ist immer kleiner oder gleich 1,0. Beachten Sie, dass sie nicht unbedingt 1,0 sein muss.

Beispiel: Um darzustellen, dass Ort A mit einer Wahrscheinlichkeit von 55 % bzw. Ort B mit einer Wahrscheinlichkeit von 35 % der richtige Ort ist, besteht der PlaceLikelihoodBuffer aus zwei Elementen: Ort A mit einer Wahrscheinlichkeit von 0,55 und Ort B mit einer Wahrscheinlichkeit von 0,35.

Zuordnungen in der App anzeigen

Wenn Ihre App Informationen anzeigt, die mit PlaceDetectionApi.getCurrentPlace() ermittelt wurden, muss Ihre App auch die Zuordnungen anzeigen. Weitere Informationen dazu finden Sie in der Dokumentation zu Zuordnungen.

Feedback geben zu...

location_on
Google Places API for Android