web-dev-qa-db-fra.com

Comment ajouter Google Places autocomplete à xcode avec Swift (tutoriel)

Je souhaite ajouter des lieux Google à la saisie semi-automatique à xcode avec Swift, afin que les utilisateurs puissent rechercher une ville et appuyer sur la touche Entrée. L'application doit donc afficher cette ville sur la carte. 

J'utilise Google Maps, il doit donc être connecté à cette carte et la barre de recherche voudrais-je avoir dans la barre de navigation (juste au-dessus de la carte)

Est-ce que quelqu'un connaît un bon tutoriel pour le faire?

13

Pour Swift 3:

1- Sélectionnez votre podfile et tapez: pod 'GooglePlaces'

2- Dans l'appDelegate, ajoutez votre clé API: GMSPlacesClient.provideAPIKey("YOUR KEY") (Importer les GooglePlaces)

3- Utilisez ce code dans votre viewController qui contient googleMap:

    // This code snippet demonstrates adding a
// full-screen Autocomplete UI control

import UIKit
import GooglePlaces

class ViewController: UIViewController {

  // TODO: Add a button to Main.storyboard to invoke onLaunchClicked.

  // Present the Autocomplete view controller when the button is pressed.
  @IBAction func onLaunchClicked(sender: UIButton) {
    let acController = GMSAutocompleteViewController()
    acController.delegate = self
    present(acController, animated: true, completion: nil)
  }
}

extension ViewController: GMSAutocompleteViewControllerDelegate {

  // Handle the user's selection.
  func viewController(_ viewController: GMSAutocompleteViewController, didAutocompleteWith place: GMSPlace) {
    print("Place name: \(place.name)")
    print("Place address: \(place.formattedAddress)")
    print("Place attributions: \(place.attributions)")
    dismiss(animated: true, completion: nil)
  }

  func viewController(_ viewController: GMSAutocompleteViewController, didFailAutocompleteWithError error: Error) {
    // TODO: handle the error.
    print("Error: \(error)")
    dismiss(animated: true, completion: nil)
  }

  // User cancelled the operation.
  func wasCancelled(_ viewController: GMSAutocompleteViewController) {
    print("Autocomplete was cancelled.")
    dismiss(animated: true, completion: nil)
  }
}
7
Letaief Achraf

Pas exactement des tutoriels, mais il y a quelques ressources sur Github, avec des personnes fournissant des bibliothèques et des exemples de code pour réaliser ce que vous demandez.

Même sans tutoriels appropriés, vous pouvez toujours consulter ces bibliothèques et comprendre comment leur code fonctionne pour vous inspirer si vous voulez écrire vos propres composants.

Google a également cette page, mais ce n’est pas un tutoriel dédié aux applications iOS, mais quelques explications utiles sur le fonctionnement de leur API: https://developers.google.com/places/documentation/autocomplete#examples

7
Romain

Vous pouvez essayer pour l’encapsuleur d’implémenter Autocompletion pour Place API avec Google:

https://github.com/mrugrajsinh/MVAutocompletePlaceSearchTextField 

Son contrôle très simple et sa sous-classe de UITextField vous permettent donc de lier Class à simple UITextField et d'obtenir une liste déroulante de complétion automatique similaire à Uber et de nombreuses applications populaires. Est-ce que.

5
Mrug

Voici un tutorial que j'ai rencontré qui est basé sur mon code ios_google_places_autocomplete .

@Frederik : Si vous avez un problème avec la bibliothèque, veuillez créer un problème le décrivant.

3
Howard Wilson
2
TMD

Utilisez ce dernier dépôt. avec Swift 2.0

Il suffit de télécharger le fichier Zip du projet, d’ouvrir le fichier pod et d’écrire pod 'GoogleMaps', puis d’enregistrer le terminal ouvert et d’installer le pod.

Prendre plaisir!!!

RKAutoCompletePlaceSearch

1
Ronak Kalavadia

Depuis que la question a été posée, Google a ajouté des éléments d'interface utilisateur au SDK iOS pour ce type de flux de travail. Découvrez la documentation

0
AndrewR

Pour tous ceux qui pensent que nous pouvons implémenter Google Maps api dans mon application iOS. C'est tellement amusant et facile ... il y a un énorme inconvénient.

L'API Google Places pour iOS applique une limite par défaut de 1 000 demandes par période de 24 heures. Si votre application dépasse la limite, the app va commencer à échouer. Activer la facturation pour obtenir 150 000 demandes par 24 heures période.

Combien de temps pensez-vous que la limite sera atteinte dans une application gratuite ou freemium? Aimez la partie où ils disent que votre application va commencer à échouer. 

Lisez attentivement le utilisation et conditions d'utilisation

0
Sam B