A simple Google Places API autocompleting address search controller (subclass of UISearchController
) for iOS devices.
GooglePlacesSearchController is 100% Swift 4, and is a fork of GooglePlacesAutocomplete.
No attempt has been made to integrate MapKit since displaying Google Places on a non-Google map is against their terms of service.
iOS 8.0+ Xcode 8.0+ / Swift 4.0
GooglePlacesSearchController is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'GooglePlacesSearchController'
To run the example project, clone the repo, and run pod install
from the Example directory first.
To integrate GooglePlacesSearchController
in your code the simplest way would be:
let controller = GooglePlacesSearchController(delegate: self,
apiKey: GoogleMapsAPIServerKey,
placeType: .address
// Optional: coordinate: CLLocationCoordinate2D(latitude: 55.751244, longitude: 37.618423),
// Optional: radius: 10,
// Optional: strictBounds: true,
// Optional: searchBarPlaceholder: "Start typing..."
)
And then add controller's searchbar controller.searchBar
to your view.
To get selected place use viewController(didAutocompleteWith:)
delegate method:
extension ViewController: GooglePlacesAutocompleteViewControllerDelegate {
func viewController(didAutocompleteWith place: PlaceDetails) {
print(place.description)
placesSearchController.isActive = false
}
}
Dmitry Shmidt with help of other contributors.
GooglePlacesSearchController
is available under the MIT license. See the LICENSE file for more info.