Mein aktuellen Code zu füllen eine Tableview mit Adressen aus dem Google Places API-Endpunkt ist wie folgt:Versuch GMSPlacesClient zu replizieren: autoCompleteQuery Funktion zum Auffüllen eines UITableView manuell
Allerdings mag ich das eine benutzerdefinierte Client erstellen zu handhaben Funktionalität, die AutoCompleteQuery, von Places zur Verfügung gestellt, kümmert sich aber manuell. Ich nehme an, dass dies fordert, dass die Adresse JSON erneut geparst wird, und durchlaufen wird, dann in einem Array gespeichert wird. Bitte lassen Sie mich wissen, wenn Sie eine Lösung haben. Der kommentierte Code funktioniert einwandfrei, ich versuche das gleiche Ergebnis manuell zu erreichen.
func searchBar(searchBar: UISearchBar, textDidChange searchText: String){
// let mapsClient = GMSPlacesClient()
// mapsClient.autocompleteQuery(searchText, bounds: nil, filter: nil {(results, error: NSError?) in
//
// self.resultsArray.removeAll()
//
// if results == nil{
// return
// }
//
// for result in results! {
//
// if let result = result as GMSAutocompletePrediction! {
// self.resultsArray.append(result.attributedFullText.string)
// }
// }
//
// self.searchResultsClient.reloadDataWithArray(self.resultsArray)
// }
gmsFetcher?.sourceTextHasChanged(searchText)
self.searchResultsClient.reloadDataWithArray(self.resultsArray)
print(resultsArray)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
extension MainMapViewController: GMSAutocompleteFetcherDelegate {
func didAutocompleteWithPredictions(predictions: [GMSAutocompletePrediction]) {
self.resultsArray.count + 1
let resultsStr = NSMutableString()
for prediction in predictions {
resultsStr.appendFormat("%@\n", prediction.attributedPrimaryText)
}
resultText?.text = resultsStr as String
self.resultsArray.append(resultsStr as String)
self.searchResultsClient.reloadDataWithArray(self.resultsArray)
}
func didFailAutocompleteWithError(error: NSError) {
resultText?.text = error.localizedDescription
}
}
Danke für die Antwort, die mich näher bringt. Allerdings muss ich noch Ergebnisse an eine TableView anhängen und es gibt keine Ressourcen genau, wie dies getan wird. Irgendwelche Ideen? –