wake-up-neo.com

Wie fügt man mit Swift google places autocomplete in xcode ein (Tutorial)

Ich möchte mit x Swift Google Places-Autovervollständigung zu Xcode hinzufügen, sodass Benutzer nach einer Stadt suchen und die Eingabetaste drücken können. Die App sollte diese Stadt auf der Karte anzeigen. 

Ich benutze Google Maps, also muss es mit dieser Karte verbunden sein und die Suchleiste möchte ich in der Navigationsleiste (direkt über der Karte) haben.

Kennt jemand ein gutes Tutorial, das zu tun?

13

Für Swift 3:

1- Wählen Sie Ihre Pod-Datei aus und geben Sie Folgendes ein: Pod 'GooglePlaces'

2- Fügen Sie im appDelegate Ihren API-Schlüssel hinzu: GMSPlacesClient.provideAPIKey("YOUR KEY") (GooglePlaces importieren)

3- Verwenden Sie diesen Code in Ihrem viewController, der die googleMap enthält:

    // 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

Nicht gerade ein Tutorial, aber es gibt ein paar Ressourcen auf Github. Die Leute stellen Bibliotheken und Codebeispiele bereit, um das zu erreichen, wonach Sie fragen.

Auch ohne geeignete Lernprogramme können Sie diese Bibliotheken immer noch auschecken und verstehen, wie ihr Code funktioniert, um Anregungen zu erhalten, wenn Sie Ihre eigenen Komponenten schreiben möchten.

Als Nebenklang hat Google auch diese Seite, aber es ist kein spezielles Tutorial für iOS-Apps, nur einige nützliche Erklärungen zur Funktionsweise ihrer API: https://developers.google.com/places/documentation/autocomplete#examples

7
Romain

Sie können einen Wrapper für die Implementierung der Autocompletion für Place API mit Google versuchen:

https://github.com/mrugrajsinh/MVAutocompletePlaceSearchTextField 

Es ist ein sehr einfaches Drop-In-Steuerelement und eine Unterklasse von UITextField. Durch die Bindung von Class mit einfachem UITextField können Sie ein automatisches Dropdown-Dropdown-Menü wie Uber und viele beliebte Apps erstellen tut.

5
Mrug

Hier ist ein tutorial , auf das ich gestoßen bin, das auf meinem ios_google_places_autocomplete -Code basiert.

@Frederik : Wenn Sie ein Problem mit der Bibliothek hatten, geben Sie Problem erstellen ein.

3
Howard Wilson
2
TMD

Verwenden Sie dieses neueste Repo. mit Swift 2.0

Laden Sie einfach die ZIP-Datei des Projekts und die Pod-Datei herunter und schreiben Sie pod 'GoogleMaps', speichern Sie das Terminal und installieren Sie den Pod.

Genießen!!!

RKAutoCompletePlaceSearch

1
Ronak Kalavadia

Seit die Frage gestellt wurde, hat Google dem iOS-SDK für diesen Workflow UI-Elemente hinzugefügt. Schauen Sie sich die Dokumentation an

0
AndrewR

Für alle, die denken, sie können Google Maps API in meiner iOS-App implementieren. Das ist so lustig und einfach ... es gibt einen RIESIGEN Nachteil.

Die Google Places-API für iOS erzwingt ein Standardlimit von 1 000 Anfragen pro 24 Stunden. Wenn Ihre App das Limit überschreitet, die App fängt an zu scheitern. Aktivieren Sie die Abrechnung, um 150.000 Anfragen pro 24 Stunden zu erhalten Zeitraum.

Wie schnell wird Ihrer Meinung nach das Limit in einer kostenlosen oder Freemium-App erreicht? Lieben Sie den Teil, in dem sie sagen, dass Ihre App scheitern wird. 

Lesen Sie sorgfältig die Nutzung und Nutzungsbedingungen

0
Sam B

Einfache und leichte Lösung für Swift Benutzer!

Ich habe auch eine Bibliothek erstellt, um diese einfache Anfrage zu stellen, ohne ein Framework für Bibliotheken von Drittanbietern einzubeziehen. Sie können mit der Bibliothek auch den Cache für die automatische Vervollständigung verwalten.

Führen Sie die folgenden Schritte aus, um die Bibliothek zu verwenden:

schritt-1 Importieren Sie GoogleApiHelper in Ihr Projekt.

schritt-2 Initialisiere GoogleApiHelper

GoogleApi.shared.initialiseWithKey("API_KEY")

step-3 Rufe die Methoden auf

var input = GInput()
input.keyword = "San francisco"
GoogleApi.shared.callApi(input: input) { (response) in
    if let results = response.data as? [GApiResponse.Autocomplete], response.isValidFor(.autocomplete) {
        //Enjoy the Autocomplete Api
    } else { print(response.error ?? "ERROR") }
}

Die Bibliothek finden Sie hier

enter image description here

0
dreamBegin