You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

61 lines
2.2 KiB

// Copyright 2020 Google LLC. All rights reserved.
//
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
// file except in compliance with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software distributed under
// the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
// ANY KIND, either express or implied. See the License for the specific language governing
// permissions and limitations under the License.
import GooglePlaces
import UIKit
/// Demo showing a modally presented Autocomplete view controller. Please refer to
/// https://developers.google.com/places/ios-sdk/autocomplete
class AutocompleteModalViewController: AutocompleteBaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
let autocompleteViewController = GMSAutocompleteViewController()
autocompleteViewController.delegate = self
if let config = autocompleteConfiguration {
autocompleteViewController.autocompleteFilter = config.autocompleteFilter
autocompleteViewController.placeFields = config.placeFields
}
navigationController?.present(autocompleteViewController, animated: true)
}
}
extension AutocompleteModalViewController: GMSAutocompleteViewControllerDelegate {
func viewController(
_ viewController: GMSAutocompleteViewController,
didAutocompleteWith place: GMSPlace
) {
navigationController?.dismiss(animated: true)
super.autocompleteDidSelectPlace(place)
}
func viewController(
_ viewController: GMSAutocompleteViewController,
didFailAutocompleteWithError error: Error
) {
navigationController?.dismiss(animated: true)
super.autocompleteDidFail(error)
}
func wasCancelled(_ viewController: GMSAutocompleteViewController) {
navigationController?.dismiss(animated: true)
super.autocompleteDidCancel()
}
func didRequestAutocompletePredictions(_ viewController: GMSAutocompleteViewController) {
print("Request autocomplete predictions.")
}
func didUpdateAutocompletePredictions(_ viewController: GMSAutocompleteViewController) {
print("Updated autocomplete predictions.")
}
}