我们之前尚未在GMSPlacePickerViewController的实例上设置委托

113*_*408 6 google-maps ios swift3

我和IOS以及谷歌地图Api已经玩了几天,两天前API升级到2.3版本,不推荐使用GMSPlacePicker.

弃用通知:GMSPlacePicker注意:地点选择器的实现已更改.从适用于iOS的Google Places API版本2.3开始,不推荐使用GMSPlacePicker类,而是替换为GMSPlacePickerViewController.只有2018年5月1日才支持使用GMSPlacePicker类.我们建议您尽可能更新代码以使用GMSPlacePickerViewController.

在我的代码中我切换到GMSPlacePickerViewController但是我仍然在日志中收到错误说:

Places API警告:使用前尚未在GMSPlacePickerViewController实例上设置委托.请注意,这可能会导致未定义的行为,例如无法关闭屏幕,未收到选择通知,以及无法正确管理对象生命周期.

即使我的班级正在扩展代表

class ReportController: UIViewController,UIPickerViewDelegate,UIPickerViewDataSource,GMSPlacePickerViewControllerDelegate{
 // code goes here
}
Run Code Online (Sandbox Code Playgroud)

不知道怎么解决这个问题?

小智 3

我也遇到了同样的问题,我通过使用此代码解决了这个问题。这是代码。

let config = GMSPlacePickerConfig(viewport: nil)
    let placePicker = GMSPlacePickerViewController(config: config)
    placePicker.delegate = self
    present(placePicker, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

希望这也能解决您的问题