Как использовать класс GMSPlacePickerViewController? - PullRequest
0 голосов
/ 31 августа 2018

Я создал сборщик следующим образом:

let placePicker = GSMPlacePickerViewController(config: config)

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

Во второй строке кода выше, как я могу сохранить место, выбранное пользователем, внутри собственной переменной, чтобы позже я мог получить доступ к свойствам , таким как координаты?

Я не знаю, как реализовать метод GSMPlacePickerViewController, и не могу найти примеры в Интернете.

Начиная с GSMPlacePickerViewController документов , это говорит о том, что мне не нужно реализовывать первый параметр, и я мог бы оставить его пустым, если я правильно понял

Реализации этого метода должны отклонять контроллер представления как Контроллер вида не отклоняет себя.

Так что теперь моя проблема - сохранить выбранное пользователем местоположение в моей собственной переменной.

Как мне достичь этого?

1 Ответ

0 голосов
/ 31 августа 2018

Добавьте 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)
}
...