[英]How to limit Google Places Autocomplete to not include Address?
如何限制Google地方信息自動填充功能不包含地址? 我目前有我的設置
class FilterVC: UIViewController, GMSAutocompleteViewControllerDelegate {
// MARK: SEARCH BAR
@IBAction func searchBarAction(_ sender: Any) {
let autocompleteController = GMSAutocompleteViewController()
autocompleteController.delegate = self
placeAutocomplete(resultsViewController: autocompleteController)
UINavigationBar.appearance().barTintColor = UIColor.white
UINavigationBar.appearance().tintColor = UIColor.hiGreyishBrownTwo
UITextField.appearance(whenContainedInInstancesOf: [UISearchBar.self]).defaultTextAttributes = [NSAttributedStringKey.foregroundColor.rawValue: UIColor.hiGreyishBrownTwo]
present(autocompleteController, animated: true, completion: nil)
}
func placeAutocomplete(resultsViewController: GMSAutocompleteViewController) {
var placeClient = GMSPlacesClient()
let filter = GMSAutocompleteFilter()
filter.type = .city
filter.country = "USA"
resultsViewController.autocompleteFilter = filter
func viewController(_ viewController: GMSAutocompleteViewController, didAutocompleteWith place: GMSPlace) {
DataService.instance.place = place
FillAddress(place: place)
fillAddressForm()
print(DataService.instance._address_line1)
print(DataService.instance._city)
print(DataService.instance._postalCode)
print(DataService.instance._state)
print(DataService.instance._country)
DataService.instance.addressLabel = place.formattedAddress
dismiss(animated: true, completion: nil)
}
func wasCancelled(_ viewController: GMSAutocompleteViewController) {
dismiss(animated: true, completion: nil)
}
func viewController(_ viewController: GMSAutocompleteViewController, didFailAutocompleteWithError error: Error) {
print("ERROR \(error) Autocomplete")
}
我嘗試使用GMSAutocompleteFilter將結果限制為僅包含州,城市,郵政編碼,國家/地區。 我不想在自動完成控制器中顯示地址。 當我這樣做時,它僅顯示國家和城市,我無法輸入郵政編碼。 我將如何提供它? 我不太確定自己所缺少的還是下一步要采取的措施。 任何建議將不勝感激。
自從找到解決方案以來,我一直打算采取這種措施,但以防萬一有人遇到類似問題,一種非常簡單的解決方法是將過濾器類型設置為region。
func placeAutocomplete(resultsViewController: GMSAutocompleteViewController) {
var placeClient = GMSPlacesClient()
let filter = GMSAutocompleteFilter()
filter.country = "USA"
filter.type = .region
resultsViewController.autocompleteFilter = filter
這將限制搜索不包括地址。 嘗試.city時,消除了很多。 希望這對以后的人有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.