如何使用GMSPlacePickerViewController类?

时间:2018-08-31 11:40:20

标签: swift google-maps google-places

我按如下方式创建了选择器:

let placePicker = GSMPlacePickerViewController(config: config)

placePicker.delegate?.placePicker(viewController: GSMPlacePickerViewController, didPick: GSMPlace)

在上面的代码的第二行中,如何存储用户选择的位置到我自己的变量中,以便以后可以像坐标一样访问其properties

我对如何实现GSMPlacePickerViewController方法感到困惑,无法在线找到示例。

GSMPlacePickerViewController docs开始,它说我不必实现第一个参数,如果我理解正确的话,可以将其留空

  

此方法的实现应将视图控制器视为   视图控制器不会自行关闭。

所以我现在的问题是将用户选择的位置存储在我自己的变量中。

我应该如何实现呢?

1 个答案:

答案 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)
}