我按如下方式创建了选择器:
let placePicker = GSMPlacePickerViewController(config: config)
placePicker.delegate?.placePicker(viewController: GSMPlacePickerViewController, didPick: GSMPlace)
在上面代码的第二行中,如何将用户选择的位置存储在我自己的变量中,以便以后可以访问其属性(如坐标(?
我对如何实现GSMPlacePickerViewController
方法感到困惑,并且无法在网上找到示例。
从GSMPlacePickerViewController
文档中可以看出,它说我不必实现第一个参数,如果我理解正确,我可以将其留空
此方法的实现应将视图控制器视为 视图控制器不会自行关闭。
所以我现在的问题是将用户选择的位置存储在我自己的变量中。
我应该如何实现这一目标?
将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)
}