Vous êtes prêt !

Pour passer à l'étape de développement, accédez à notre documentation pour les développeurs.

Activer Google Places API for Android

Pour commencer, nous allons vous guider à travers la console Google Developers et effectuer deux ou trois petites choses :

  1. Créer ou choisir un projet
  2. Activer Google Places API for Android
  3. Créer les clés appropriées
Continuer

Lieu actuel

Google Places API for Android permet de déterminer le lieu où se situe actuellement l'appareil, à savoir, le lieu correspondant à l'emplacement indiqué actuellement par l'appareil. Une entreprise locale, un point d'intérêt et un point géographique sont des exemples de lieu.

Autorisations

Si votre application utilise PlaceDetectionApi.getCurrentPlace(), vous devez demander l'autorisation ACCESS_FINE_LOCATION.

Nouveau modèle d'autorisation dans Android 6.0 Marshmallow

Android 6.0 (Marshmallow) introduit un nouveau modèle de gestion des autorisations, qui permet de rationaliser le processus pour les utilisateurs lors de l'installation et de la mise à niveau des applications. Si vous utilisez les services Google Play, version 8.1 ou ultérieure, vous pouvez configurer votre application de sorte qu'elle cible le kit Android 6.0 Marshmallow SDK et utilise le nouveau modèle d'autorisations.

Si votre application prend en charge le nouveau modèle d'autorisations, l'utilisateur n'a pas besoin d'accorder une autorisation lors de l'installation ou de la mise à niveau de l'application. Au contraire, c'est l'application qui doit demander une autorisation lorsqu'elle en a besoin au moment de l'exécution. Le système affiche alors une boîte de dialogue à l'utilisateur pour lui demander cette autorisation.

Pour en savoir plus, consultez la documentation sur Android 6.0 Marshmallow, ainsi que les modifications à apporter à votre application pour le nouveau modèle d'autorisations.

Limites d'utilisation

L'utilisation de la méthode PlaceDetectionApi.getCurrentPlace() est soumise à des limites de requête hiérarchisées. Voir la documentation sur les limites d'utilisation.

Obtenir le point géographique actuel

Pour trouver l'entreprise locale ou un autre lieu sur lequel se situe actuellement l'appareil, appelez la méthode PlaceDetectionApi.getCurrentPlace().

Vous pouvez également spécifier un paramètre PlaceFilter pour limiter les résultats à un ou plusieurs identifiants de lieu (jusqu'à 10) ou pour sélectionner uniquement les lieux actuellement ouverts. Si aucun filtre n'est spécifié, les résultats ne sont pas filtrés.

L'API renvoie un paramètre PlaceLikelihoodBuffer dans PendingResult. PlaceLikelihoodBuffer contient une liste des objets PlaceLikelihood représentant des lieux probables. Pour chaque lieu, le résultat inclut une indication de la probabilité que le lieu soit celui recherché. Le tampon peut être vide s'il n'existe aucun lieu connu correspondant aux critères de filtre.

Vous pouvez appeler la méthode PlaceLikelihood.getPlace() pour extraire un objet Place et la méthode PlaceLikelihood.getLikelihood() pour obtenir le taux de probabilité du lieu. Une valeur supérieure signifie une plus forte probabilité que le lieu soit le résultat le plus pertinent.

L'exemple de code suivant permet d'extraire la liste des lieux où l'appareil a le plus de chance de se situer, ainsi que de consigner le nom et la probabilité de chaque lieu.

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();
  }
});

Remarques à propos des valeurs de probabilité :

  • La probabilité correspond à la probabilité relative que le lieu soit le résultat le plus pertinent de la liste des lieux renvoyés pour une requête unique. Vous ne pouvez pas comparer les probabilités de plusieurs requêtes.
  • La valeur de probabilité est comprise entre 0 et 1.0.
  • La somme des probabilités d'un objet PlaceLikelihoodBuffer donné est toujours inférieure ou égale à 1.0. Notez que la somme n'est pas nécessairement 1.0.

Par exemple, pour représenter une probabilité de 55 % que le Lieu A soit le lieu approprié et une probabilité de 35 % qu'il s'agisse du Lieu B, la méthode PlaceLikelihoodBuffer se compose de deux éléments : Lieu A avec une probabilité de 0.55 et Lieu B avec une probabilité de 0.35.

Afficher les mentions dans votre application

Lorsque votre application affiche des informations obtenues en appelant la fonction PlaceDetectionApi.getCurrentPlace(), elle doit également afficher les mentions. Voir la documentation sur les mentions.

Envoyer des commentaires concernant…

location_on
Google Places API for Android