/GooglePlacesSearchController

Google Places autocompleting address search controller

Primary LanguageSwiftMIT LicenseMIT

GooglePlacesSearchController

Version License Platform

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.