Get list of nearby places from Google Places API (Swift 3)

Here is an example url, where it returns a list of starbucks near your location.

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=(yourlatitude),(yourlongitude)&radius=5000&keyword=starbucks&key=(yourkey)

You can get the key from google console


Check this out -->> https://www.raywenderlich.com/109888/google-maps-ios-sdk-tutorial

"Finding Something to Eat" section have what you needs.


Lightweight Solution!

I created a google wrapper to call google near by api here : Google Api Helper

var input = GInput()
input.keyword = "Restaurants"
input.radius = 20000
var location = GLocation()
location.latitude = 26.273178
location.longitude = 73.009545
input.destinationCoordinate = location
GoogleApi.shared.callApi(.nearBy, input: input) { (response) in
    if let data = response.data as? [GApiResponse.NearBy], response.isValidFor(.nearBy){
        // all nearby places
    }
}

Interesting part is I added a bonus api to get all the 60 nearby places so the user don't have to worry about the next page token and call the api till the final result come. Here is an example to get all the result.

var input = GInput()
input.keyword = "Restaurants"
input.radius = 20000
var location = GLocation()
location.latitude = 26.273178
location.longitude = 73.009545
input.destinationCoordinate = location
NearbyExtension.shared.completion = { response in
    if let data = response.data as? [GApiResponse.NearBy], response.isValidFor(.nearBy){
        // all nearby places
    }
}
NearbyExtension.shared.getAllNearBy(input: input)