2017-08-24 3 views

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

merci frère ça a fonctionné pour moi oublié de voter jusqu'à @Gregory Wilson Pullyattu – anuj

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

+0

peut me fournir un échantillon @kkakkurt – anuj

+0

aussi je veux que leur est une limite de recherche du résultat @kkakkurt – anuj

+0

aidez-moi à résoudre ce problème @kkakkurt – anuj