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

Sélecteur de lieux

Widget IU Sélecteur de lieux

Le sélecteur de lieux est un widget d'interface utilisateur (IU) simple et flexible intégré à Google Places API for Android.

Présentation du sélecteur de lieux

La fonction PlacePicker ouvre une boîte de dialogue IU qui affiche une carte interactive et une liste des lieux à proximité, notamment les lieux correspondant aux adresses géographiques et entreprises locales. Les utilisateurs peuvent choisir un lieu pour lequel votre application peut ensuite extraire des détails.

Le sélecteur de lieux fournit les avantages suivants par rapport au développement de votre propre widget IU :

  1. L'environnement utilisateur est identique à celui des autres applications qui utilisent le sélecteur de lieux, y compris les applications Google et celles des fournisseurs tiers. Autrement dit, les utilisateurs de votre application savent déjà comment manipuler le sélecteur de lieux.
  2. La carte est intégrée au sélecteur de lieux.
  3. L'accessibilité est intégrée.
  4. Vous gagnez du temps en développement.

Le sélecteur de lieux comporte une fonctionnalité de saisie semi-automatique qui affiche les lieux proposés en fonction de la recherche saisie par l'utilisateur. Cette fonctionnalité est présente dans toutes les intégrations de sélecteur de lieux, vous n'avez donc rien d'autre à faire pour l'activer. Pour plus d'informations sur la saisie semi-automatique, voir Place Autocomplete.

Autorisations

Si votre application utilise le sélecteur de lieux, 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.

Ajouter un sélecteur de lieux

Suivez la procédure récapitulative suivante pour lancer le sélecteur de lieux :

  1. Appelez PlacePicker.IntentBuilder() pour créer un objet Intent.
  2. Pour modifier le comportement par défaut du sélecteur de lieux, vous pouvez utiliser l'outil de création en vue de définir les limites de latitude et longitude initiales associées à la carte affichée par le sélecteur de lieux. Appelez setLatLngBounds() sur l'outil de création en spécifiant un paramètre LatLngBounds pour définir les limites de latitude et longitude initiales. Ces valeurs définissent une zone appelée « fenêtre d'affichage ». Par défaut, la fenêtre d'affichage est centrée sur la position géographique de l'appareil, avec un zoom sur le quartier.
  3. Appelez startActivityForResult(), en spécifiant l'Intent et un code de requête prédéfini pour pouvoir identifier la requête dans les résultats renvoyés.

L'élément de code suivant permet de lancer le sélecteur de lieux :

int PLACE_PICKER_REQUEST = 1;
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();

startActivityForResult(builder.build(this), PLACE_PICKER_REQUEST);

Lorsque l'utilisateur sélectionne un lieu, vous pouvez extraire ce lieu en appelant PlacePicker.getPlace(). Si l'utilisateur n'a sélectionné aucun lieu, la méthode renvoie une valeur null.

Vous pouvez également extraire les limites les plus récentes de la carte en appelant la méthode PlacePicker.getLatLngBounds().

L'élément de code suivant permet d'extraire le lieu sélectionné par l'utilisateur :

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  if (requestCode == PLACE_PICKER_REQUEST) {
    if (resultCode == RESULT_OK) {
        Place place = PlacePicker.getPlace(data, this);
        String toastMsg = String.format("Place: %s", place.getName());
        Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show();
    }
  }
}

Définir des couleurs personnalisées à partir du thème

Si vous définissez des couleurs personnalisées dans votre application à partir du thème Material, le sélecteur de lieux hérite des attributs colorPrimary et colorPrimaryDark de ce thème. Cette fonction est utile pour conserver la cohérence de la marque sur l'application et le sélecteur de lieux.

Afficher les mentions dans votre application

Lorsque votre application affiche des informations obtenues via le sélecteur de lieux, elle doit également afficher les mentions. Voir la documentation sur les mentions.

Envoyer des commentaires concernant…

location_on
Google Places API for Android