goo

GooglePlacesSearchController

Google Places autocompleting address search controller

Showing:

Popularity

Downloads/wk

0

GitHub Stars

186

Maintenance

Last Commit

1yr ago

Contributors

8

Package

Dependencies

0

License

MIT

Categories

Readme

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.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100