我按如下方式创建了选择器:
let placePicker = GSMPlacePickerViewController(config: config)
placePicker.delegate?.placePicker(viewController: GSMPlacePickerViewController, didPick: GSMPlace)
在上面的代码的第二行中,如何存储用户选择的位置到我自己的变量中,以便以后可以像坐标一样访问其properties?
我对如何实现GSMPlacePickerViewController
方法感到困惑,无法在线找到示例。
从GSMPlacePickerViewController
docs开始,它说我不必实现第一个参数,如果我理解正确的话,可以将其留空
此方法的实现应将视图控制器视为 视图控制器不会自行关闭。
所以我现在的问题是将用户选择的位置存储在我自己的变量中。
我应该如何实现呢?
答案 0 :(得分:1)
将 GMSPlacePickerViewControllerDelegate 添加到视图控制器中,如下所示:
class YourViewController: GMSPlacePickerViewControllerDelegate {
}
然后在所述VC中添加委托方法,当用户选择位置时将调用该方法。然后,您关闭并访问如下所示的地点数据:
func placePicker(_ viewController: GMSPlacePickerViewController, didPick place: GMSPlace) {
placePicker.dismiss(animated: true, completion: nil)
let location = CLLocation(latitude: place.coordinate.latitude, longitude: place.coordinate.longitude)
}