Vous êtes prêt !

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

Activer Google Places API for iOS

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 iOS
  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 iOS.

Présentation du sélecteur de lieux

La fonction GMSPlacePicker 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.

Demande d'autorisation de géolocalisation

Si votre application utilise le sélecteur de lieux, vous devez demander l'autorisation d'utiliser les services de géolocalisation. Ajoutez d'abord l'une des clés suivantes, ou les deux, dans votre fichier Info.plist pour demander l'autorisation « when in use » ou « always » :

  • NSLocationWhenInUseUsageDescription
  • NSLocationAlwaysUsageDescription

Pour le sélecteur de lieux, il suffit de demander l'autorisation « when in use » mais vous pouvez demander l'autorisation « always » pour les autres fonctionnalités de votre application. Pour chaque clé, ajoutez une chaîne indiquant à l'utilisateur la raison pour laquelle vous avez besoin des services de géolocalisation. Par exemple :

<key>NSLocationWhenInUseUsageDescription</key>
<string>Show your location on the map</string>

Ajouter un sélecteur de lieux

L'extrait de code ci-dessous décrit comment créer un objet GMSPlacePicker centré sur Sydney et renvoyer les détails sur le lieu sélectionné.

Swift

// The code snippet below shows how to create and display a GMSPlacePickerViewController.
@IBAction func pickPlace(_ sender: UIButton) {
  let config = GMSPlacePickerConfig(viewport: nil)
  let placePicker = GMSPlacePickerViewController(config: config)

  present(placePicker, animated: true, completion: nil)
}

// To receive the results from the place picker 'self' will need to conform to
// GMSPlacePickerViewControllerDelegate and implement this code.
func placePicker(_ viewController: GMSPlacePickerViewController, didPick place: GMSPlace) {
  // Dismiss the place picker, as it cannot dismiss itself.
  viewController.dismiss(animated: true, completion: nil)

  print("Place name \(place.name)")
  print("Place address \(place.formattedAddress)")
  print("Place attributions \(place.attributions)")
}

func placePickerDidCancel(_ viewController: GMSPlacePickerViewController) {
  // Dismiss the place picker, as it cannot dismiss itself.
  viewController.dismiss(animated: true, completion: nil)

  print("No place selected")
}

Objective-C

// The code snippet below shows how to create and display a GMSPlacePickerViewController.
- (IBAction)pickPlace:(UIButton *)sender {
  GMSPlacePickerConfig *config = [[GMSPlacePickerConfig alloc] initWithViewport:nil];
  GMSPlacePickerViewController *placePicker =
    [[GMSPlacePickerViewController alloc] initWithConfig:config];
  placePicker.delegate = self;

  [self presentViewController:placePicker animated:YES completion:nil];
}

// To receive the results from the place picker 'self' will need to conform to
// GMSPlacePickerViewControllerDelegate and implement this code.
- (void)placePicker:(GMSPlacePickerViewController *)viewController didPickPlace:(GMSPlace *)place {
  // Dismiss the place picker, as it cannot dismiss itself.
  [viewController dismissViewControllerAnimated:YES completion:nil];

  NSLog(@"Place name %@", place.name);
  NSLog(@"Place address %@", place.formattedAddress);
  NSLog(@"Place attributions %@", place.attributions.string);
}

- (void)placePickerDidCancel:(GMSPlacePickerViewController *)viewController {
  // Dismiss the place picker, as it cannot dismiss itself.
  [viewController dismissViewControllerAnimated:YES completion:nil];

  NSLog(@"No place selected");
}

Comme illustré dans l'exemple de code ci-dessus, vous pouvez lancer le sélecteur de lieux avec une configuration donnée à l'aide d'un objet GMSPlacePickerConfig. Dans l'objet de configuration, spécifiez un paramètre viewport contenant un objet GMSCoordinateBounds qui définit la zone rectangulaire initiale à afficher par la carte du sélecteur de lieux.

Appelez GMSPlacePicker.pickPlaceWithCallback(_:) pour afficher la boîte de dialogue du sélecteur de lieux qui invite l'utilisateur à sélectionner un lieu.

Lorsque l'utilisateur sélectionne un lieu, votre application reçoit un rappel pour la méthode fournie dans pickPlaceWithCallback(_:). La méthode de rappel est appelée avec le lieu choisi ou sans paramètre si l'utilisateur n'a choisi aucun lieu.

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…