【发布时间】:2016-05-05 01:25:23
【问题描述】:
我收到错误消息:“ViewController”不符合以下代码中的“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)
}
}
解决办法是什么?谢谢
【问题讨论】:
-
您是否阅读了docs,并确保您已经实现了所需的功能?
-
是的,我从谷歌文档中得到了这段代码,并用 api 仔细检查了我是否拥有所有必需的功能
-
谷歌开发者指南似乎缺少必要的“didFailAutocompleteWithError”。这就是缺少的东西。谢谢
标签: ios swift google-maps autocomplete google-places-api