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

Ajout de lieux

Vous pouvez utiliser Google Places API for iOS pour ajouter un lieu dans la base de données Google Places. Le lieu nouvellement ajouté est disponible dans votre application peu après. Il est ajouté dans une file d'attente de modération pour déterminer s'il peut être intégré à la base de données Places de Google et à Google Maps.

Pour augmenter les chances du lieu d'être approuvé par le processus de modération et ajouté à la base de données Google Places, la requête d'ajout doit inclure autant d'informations que possible. L'adresse, le numéro de téléphone et le site Web sont particulièrement importants.

  1. Ajouter un lieu
  2. Gérer plusieurs identifiants de lieu et leur validité

Ajouter un lieu

Créez un objet GMSUserAddedPlace et envoyez-le à GMSPlacesClient addPlace:callback:.

Indiquez les informations suivantes lors de la création de l'objet GMSUserAddedPlace :

  • Obligatoire : Le nom (name) complet de l'entreprise, du point d'intérêt ou de tout autre lieu. Limité à 255 caractères.
  • Obligatoire : L'adresse (address) lisible du lieu. Si un lieu est associé à une adresse lisible au format approprié, il a plus de chances d'être approuvé par le processus de modération pour être intégré à la base de données Google Places.
  • Obligatoire : Un objet coordinate (CLLocationCoordinate2D) indiquant l'emplacement du lieu.
  • Facultatif : Le numéro de téléphone (phoneNumber) du lieu. Il s'agit du numéro de téléphone au format international. Le format international inclut l'indicatif du pays, précédé du signe plus (+). Par exemple, le numéro de téléphone international du bureau Google de Mountain View, États-Unis, est le +1 650-253-0000. Si un lieu est associé à un numéro de téléphone au format approprié, il a plus de chances d'être approuvé par le processus de modération pour être intégré à la base de données Google Places. Remarque : Vous devez fournir soit le numéro de téléphone (phoneNumber), soit le site Web (website), ou les deux.
  • Obligatoire : Une liste des types de lieu qui caractérisent ce lieu. Seuls les types du tableau 1 sont valides.
  • Facultatif : Un identifiant URI website contenant l'adresse du site Web officiel pour ce lieu, tel que la page d'accueil d'une entreprise. Si un lieu est associé à une adresse de site Web au format approprié, il a plus de chances d'être approuvé par le processus de modération pour être intégré à la base de données Google Places. Remarque : vous devez fournir soit le numéro de téléphone (phoneNumber), soit le site Web (website), ou les deux.

Indiquez également une méthode de rappel pour gérer les résultats. L'API appelle la méthode de rappel spécifiée en indiquant l'objet GMSPlace généré pour le lieu nouvellement créé.

L'exemple de code suivant ajoute un lieu appelé « Google Shoes! » à Pyrmont, Australie.

Swift

let userAddedPlace = GMSUserAddedPlace()
userAddedPlace.name = "Google Shoes!"
userAddedPlace.address = "48 Pirrama Road, Pyrmont, NSW 2009, Australia"
userAddedPlace.coordinate = CLLocationCoordinate2DMake(-33.8669710, 151.1958750)
userAddedPlace.phoneNumber = "(02) 9374 4000"
userAddedPlace.website = "http://www.google.com.au/"
userAddedPlace.types = ["shoe_store"]
placesClient.add(userAddedPlace, callback: { (place, error) -> Void in
  if let error = error {
    print("Add Place error: \(error.localizedDescription)")
    return
  }

  if let place = place {
    print("Added place with placeID \(place.placeID)")
    print("Added Place name \(place.name)")
    print("Added Place address \(place.formattedAddress)")
  }
})

Objective-C

GMSUserAddedPlace *userAddedPlace = [[GMSUserAddedPlace alloc] init];
userAddedPlace.name = @"Google Shoes!";
userAddedPlace.address = @"48 Pirrama Road, Pyrmont, NSW 2009, Australia";
userAddedPlace.coordinate = CLLocationCoordinate2DMake(-33.8669710, 151.1958750);
userAddedPlace.phoneNumber = @"(02) 9374 4000";
userAddedPlace.website = @"http://www.google.com.au/";
userAddedPlace.types = @[@"shoe_store"];

[_placesClient addPlace:userAddedPlace callback:^(GMSPlace *place, NSError *error) {
  if (error != nil) {
    NSLog(@"User Added Place error %@", [error localizedDescription]);
    return;
  }

  NSLog(@"Added place with placeID %@", place.placeID);
  NSLog(@"Added Place name %@", place.name);
  NSLog(@"Added Place address %@", place.formattedAddress);
}];

L'objet GMSPlace généré est associé à un identifiant de lieu unique que votre application peut utiliser dès cet instant pour extraire les détails du lieu. Les lieux ajoutés sont également disponibles peu après dans les résultats des requêtes get-current-place lancées par votre application, ainsi que dans un sélecteur de lieux affiché par votre application. La validité est déterminée par l'identifiant du projet utilisé pour générer la clé d'API.

Les lieux nouvellement ajoutés sont placés dans une file d'attente de modération pour déterminer s'ils peuvent être intégrés à la base de données Google Places. Les lieux non approuvés par le processus de modération peuvent toujours être récupérés à l'aide de l'identifiant de lieu dans l'application qui les a soumis. Toutefois, ils n'apparaissent plus dans les résultats des requêtes get-current-place, le sélecteur d'API ou toute autre méthode API. Les lieux approuvés par le processus de modération sont visibles par toutes les applications et sur Google Maps.

Gérer plusieurs identifiants de lieu et leur validité

Chaque identifiant de lieu fait référence à un lieu unique, mais un lieu peut avoir plusieurs identifiants. Le cas le plus courant est lorsque vous ajoutez un lieu initialement valable pour votre application et que ce lieu devient valable pour toutes les applications Google.

Lorsque vous ajoutez un lieu, vous recevez immédiatement un identifiant pour ce lieu. Cet identifiant de lieu est valable pour votre application uniquement. Le lieu est ensuite placé dans une file d'attente de modération pour déterminer s'il peut être intégré à la base de données Google Places. S'il est approuvé, le lieu reçoit un nouvel identifiant, valable pour toutes les applications et sur Google Maps.

Lorsque vous recherchez un lieu par identifiant de lieu, vous êtes assuré de toujours recevoir le même lieu en réponse (s'il existe toujours).

Toutefois, notez que la réponse peut contenir un identifiant de lieu différent de celui indiqué dans votre requête. Pour plus d'informations, voir la présentation des identifiants de lieu.

Envoyer des commentaires concernant…