ios - ViewController 不符合 Swift 中的 GMSAutoCompleteViewControllerDelegate 协议(protocol)

标签 ios swift google-maps autocomplete google-places-api

我收到错误:以下代码中的“ViewController”不符合协议(protocol)“GMSAutoCompleteViewControllerDelegate”。

class MapViewController: UIViewController, CLLocationManagerDelegate, GMSMapViewDelegate, GMSAutocompleteViewControllerDelegate {

...

@IBAction func autocompleteClicked(sender: AnyObject) {
        let autoCompletController = GMSAutocompleteViewController()
        autoCompletController.delegate = self
        self.presentViewController(autoCompletController, animated: true, completion: nil)
    }

    //Handle user's selection
    func viewController(viewController: GMSAutocompleteViewController!, didAutocompleteWithPlace place: GMSPlace!) {
        //let placeName = place.name
        //let placeAddress = place.formattedAddress
        //let placeAttributions = place.attributions
        let placeCoordinate = place.coordinate
        mapView.camera = GMSCameraPosition(target: placeCoordinate, zoom: 15, bearing: 0, viewingAngle: 0)
    }

    func viewController(viewController: GMSAutocompleteViewController!, didAutocompleteWithError error: NSError!) {
        // TODO: handle the error.
        print("Error: ", error.description)
    }

    func wasCancelled(viewController: GMSAutocompleteViewController!) {
        self.dismissViewControllerAnimated(true, completion: nil)
    }
}

修复方法是什么?谢谢

最佳答案

我刚刚在 Swift 3 中收到此错误,并将其更改为以下内容对我有用:

func viewController(_ viewController: GMSAutocompleteViewController, didFailAutocompleteWithError error: Swift.Error) {
    // TODO: handle the error.
    print("Error: \(error.localizedDescription)")
}

关于ios - ViewController 不符合 Swift 中的 GMSAutoCompleteViewControllerDelegate 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35048454/

相关文章:

ios - 如何在 iOS 中使 Google map 与位置数据链接

javascript - 谷歌地图 API V3 信息窗口错误 : "infowindow not defined"

javascript - Google map - 默认图钉仍然显示并遮盖自定义图标

ios - 如何同步移动标记和相机并始终将标记放置在相机位置IOS的中心

ios - 何时使用 Swift 使用 do-catch block

swift - 以编程方式填充 STPPaymentCardTextField

swift - 无法安装午睡 1.4.2

android - 获取当前位置location android

objective-c - 使用 UTF-8 时带有错误字符的 NSString

ios - 在 SwiftUI 中根据明暗模式更改 buttonStyle 修饰符