Comment faire une recherche Google Places
quand je clique sur textField
et que je veux afficher les résultats juste en dessous de textField
. J'utilise la version 3.0 de Swift. Quelqu'un peut-il m'aiderRecherche Google Adresses sur tableAfficher quand on clique sur textField dans Swift 3?
1
A
Répondre
3
D'abord, vous devez installer le SDK GooglePlaces dans votre projet. Ensuite, vous renvoyez le code ci-dessous.
à Swift 3
Dans AppDelegate
import UIKit
import CoreData
import GoogleMaps
import GooglePlacePicker
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions
launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
func setUpGoogleMaps()
return true
}
func setUpGoogleMaps() {
let googleMapsApiKey = "AIzaSyA-kiOBvrR9CNztqutwmKaSLyXIid93K0E"
GMSServices.provideAPIKey(googleMapsApiKey)
GMSPlacesClient.provideAPIKey("AIzaSyA-kiOBvrR9CNztqutwmKaSLyXIid93K0E")
}
Dans votre ViewController qui est d'avoir le textField
import UIKit
import GooglePlaces
import GoogleMaps
import GooglePlacePicker
class HotelVC: UIViewController, GMSMapViewDelegate, UITextFieldDelegate {
@IBOutlet weak var YourTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
self.YourTextField.delegate = self
}
func textFieldDidBeginEditing(_ textField: UITextField) {
let acController = GMSAutocompleteViewController()
acController.delegate = self
self.present(acController, animated: true, completion: nil)
}
}
extension viewController: GMSAutocompleteViewControllerDelegate {
func viewController(_ viewController: GMSAutocompleteViewController, didAutocompleteWith place: GMSPlace) {
print("Place name: \(place.name)")
print("Place address: \(place.formattedAddress ?? "null")")
self.YourTextField.text = place.formattedAddress
print("Place attributions: \(String(describing: place.attributions))")
self.dismiss(animated: true, completion: nil)
}
func viewController(_ viewController: GMSAutocompleteViewController, didFailAutocompleteWithError error: Error) {
// TODO: handle the error.
// print("Error: \(error.description)")
self.dismiss(animated: true, completion: nil)
}
// User canceled the operation.
func wasCancelled(_ viewController: GMSAutocompleteViewController) {
print("Autocomplete was cancelled.")
self.dismiss(animated: true, completion: nil)
}
}
0
Vous pouvez utiliser l'API Google Adresses. Il peut vous aider à trouver des endroits facilement et vous pouvez également l'activer via votre textField
.
Voici le lien https://developers.google.com/places/ios-api/autocomplete
merci frère ça a fonctionné pour moi oublié de voter jusqu'à @Gregory Wilson Pullyattu – anuj