GooglePlacesSearchController
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.
Screenshots
Requirements
iOS 8.0+ Xcode 8.0+ / Swift 4.0
Installation
GooglePlacesSearchController is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'GooglePlacesSearchController'
Usage
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
}
}
Author
Dmitry Shmidt with help of other contributors.
License
GooglePlacesSearchController
is available under the MIT license. See the LICENSE file for more info.