iOS Orte in der Nähe vom aktuellen Standort abrufen


Beispiel

Voraussetzungen

  1. Installieren Sie Pods in Ihrem Projekt
  2. Installieren Sie das GooglePlaces SDK
  3. Standortdienste aktivieren

Zuerst müssen wir den Benutzer anhand der aktuellen Längen- und Breitengrade ermitteln.

  1. Importieren Sie GooglePlaces und GooglePlacePicker
import GooglePlaces
import GooglePlacePicker
  1. Fügen Sie das CLLOcationManagerDelegate Protokoll hinzu
class ViewController: UIViewController, CLLocationManagerDelegate {
    
}
  1. Erstelle deinen CLLocationManager ()
var currentLocation = CLLocationManager()
  1. Autorisierung anfordern
currentLocation = CLLocationManager()
currentLocation.requetAlwayAuthorization()
  1. Erstellen Sie eine Schaltfläche, um die GooglePlacePicker-Methode aufzurufen

@IBAction func placePickerAction (Sender: 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")
            }
        })
    }        
}