Я работаю в проекте Swift 4 с API Google Мест. При вводе поиска по желаемому местоположению в строке поиска мне нужно, чтобы google api возвращал только сокращенную форму состояний, а не отображал ее полностью. Пример., Милфорд, Коннектикут, США, а не Милфорд, Коннектикут, США и аналогично для всех других мест. Я приложил немного кода. Может кто-нибудь помочь мне здесь. Все ваши отзывы приветствуются. Заранее спасибо!
let filter = GMSAutocompleteFilter()
filter.type = .city
filter.country = "uk|country:fr|country:us"
placesClient.autocompleteQuery(searchText, bounds: nil, filter: filter, callback: {(results, error) -> Void in
if let _ = error {
autocompletionFailure?()
}
if let results = results {
//Filtering the results for given countries, so that only relevant data should be displayed.
let filteredItems = results.filter { (LocalisationHelper.containsString(apiValue: $0.attributedSecondaryText?.string.lowercased() ?? "", localValue:Constants.SearchCountriesName.guam)) || (LocalisationHelper.containsString(apiValue: $0.attributedSecondaryText?.string.lowercased() ?? "", localValue:Constants.SearchCountriesName.canada)) || (LocalisationHelper.containsString(apiValue: $0.attributedSecondaryText?.string.lowercased() ?? "", localValue:Constants.SearchCountriesName.usa) ) || (LocalisationHelper.containsString(apiValue: $0.attributedSecondaryText?.string.lowercased() ?? "", localValue:Constants.SearchCountriesName.unitedStates)) || (LocalisationHelper.containsString(apiValue: $0.attributedSecondaryText?.string.lowercased() ?? "", localValue:Constants.SearchCountriesName.puertoRico)) || (LocalisationHelper.containsString(apiValue: $0.attributedSecondaryText?.string.lowercased() ?? "", localValue:Constants.SearchCountriesName.northernMarianaIslands)) || (LocalisationHelper.containsString(apiValue: $0.attributedSecondaryText?.string.lowercased() ?? "", localValue:Constants.SearchCountriesName.virginIslands))}
self._searchResults.value = filteredItems
print("filters: \(filteredItems)")
searchCompleter?()
}