iOS Google Places API
Getting Nearby Places from Current Location
Prerequisites
- Install pods in your project
- Install the GooglePlaces SDK
- Enable location services
First we need to get the users location by getting their current longitude and latitude.
-
Import GooglePlaces and GooglePlacePicker
import GooglePlaces import GooglePlacePicker
-
Add the
CLLOcationManagerDelegate
protocolclass ViewController: UIViewController, CLLocationManagerDelegate {
}
-
create your CLLocationManager()
var currentLocation = CLLocationManager()
-
Request authorization
currentLocation = CLLocationManager() currentLocation.requetAlwayAuthorization()
-
Create a button to call the GooglePlacePicker method
@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")
}
})
}
}