使用Swift将自定义单元格添加到Google商家信息自动填充功能?

时间:2016-12-01 01:44:26

标签: ios swift uitableview autocomplete google-places-api

我正在使用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),但我似乎无法弄清楚如何和谷歌并没有给我任何结果..

非常感谢您的帮助!

0 个答案:

没有答案