我正在使用Google Places API for iOS实施Google地方信息自动填充功能。使用Swift。我的searchview代码如下(连接到故事板中的空ViewController):
import UIKit
import GooglePlaces
protocol PlacesProtocol: class {
func returnPlaces(place:GMSPlace!)
}
class AutoCompleteViewController: UIViewController {
var resultsViewController: GMSAutocompleteResultsViewController?
var searchController: UISearchController?
var resultView: UITextView?
var delegate: PlacesProtocol?
override func viewDidLoad() {
super.viewDidLoad()
resultsViewController = GMSAutocompleteResultsViewController()
resultsViewController?.delegate = self
searchController = UISearchController(searchResultsController: resultsViewController)
searchController?.searchResultsUpdater = resultsViewController
let subView = UIView(frame: CGRectMake(0, 65.0, 375.0, 45.0))
subView.addSubview((searchController?.searchBar)!)
self.view.addSubview(subView)
searchController?.searchBar.sizeToFit()
searchController?.hidesNavigationBarDuringPresentation = false
// When UISearchController presents the results view, present it in
// this view controller, not one further up the chain.
self.definesPresentationContext = true
}
}
// Handle the user's selection.
extension AutoCompleteViewController: GMSAutocompleteResultsViewControllerDelegate {
func resultsController(resultsController: GMSAutocompleteResultsViewController,
didAutocompleteWithPlace place: GMSPlace) {
searchController?.active = false
// Do something with the selected place.
delegate!.returnPlaces(place)
self.navigationController?.popViewControllerAnimated(true)
}
func resultsController(resultsController: GMSAutocompleteResultsViewController,
didFailAutocompleteWithError error: NSError){
// TODO: handle the error.
print("Error: ", error.description)
}
(取自教程)
自动填充功能正常,但我需要使用选项'我的位置'将静态单元格添加到resultsTable。有没有办法访问这个?我正在考虑访问resultTable的cellForRowAtIndexPath函数并在那里添加一个额外的单元格,或者访问地点数组并将选项放在第一个位置(更多hacky),但我似乎无法弄清楚如何和谷歌并没有给我任何结果..
非常感谢您的帮助!