iOS Obtenir des lieux proches de l'emplacement actuel


Exemple

Conditions préalables

  1. Installer des modules dans votre projet
  2. Installer le SDK GooglePlaces
  3. Activer les services de localisation

Nous devons d'abord obtenir l'emplacement de l'utilisateur en obtenant sa longitude et sa latitude actuelles.

  1. Importer GooglePlaces et GooglePlacePicker
import GooglePlaces
import GooglePlacePicker
  1. Ajoutez le protocole CLLOcationManagerDelegate
class ViewController: UIViewController, CLLocationManagerDelegate {
    
}
  1. créer votre CLLocationManager ()
var currentLocation = CLLocationManager()
  1. Demande d'autorisation
currentLocation = CLLocationManager()
currentLocation.requetAlwayAuthorization()
  1. Créer un bouton pour appeler la méthode GooglePlacePicker

@IBAction func placePickerAction (expéditeur: AnyObject) {

if CLLOcationManager.authorizationStatues() == .AuthorizedAlways {

        let center = CLLocationCoordinate2DMake((currentLocation.location?.coordinate.latitude)!, (currentLocation.location?.coordinate.longitude)!)
        let northEast = CLLocationCoordinate2DMake(center.latitude + 0.001, center.longitude + 0.001)
        let southWest = CLLocationCoordinate2DMake(center.latitude - 0.001, center.longitude - 0.001)
        let viewport = GMSCoordinateBounds(coordinate: northEast, coordinate: southWest)
        let config = GMSPlacePickerConfig(viewport: viewport)
        placePicker = GMSPlacePicker(config: config)
        
        placePicker?.pickPlaceWithCallback({ (place: GMSPlace?, error: NSError?) -> Void in
            if let error = error {
                print("Pick Place error: \(error.localizedDescription)")
                return
            }
            
            if let place = place {
               print("Place name: \(place.name)")
                print("Address: \(place.formattedAddress)")
                
            } else {
               print("Place name: nil")
                print("Address: nil")
            }
        })
    }        
}