Пользовательский поворот подшипника для просмотра карты - PullRequest
0 голосов
/ 02 апреля 2019

Привет, у меня есть приложение Map, в котором я использовал карты Google, все работает нормально, и теперь я хочу изменить направление mapView, когда я нажимаю кнопку, например приложение Uber, когда вы подтверждаете поездку, карта продолжает менять направлениепока драйвер не найден, он возвращается к значению по умолчанию, а когда драйвер отсутствует, он возвращается к значению по умолчанию.В настоящее время я могу просто вращать mapView, поскольку пользователь поворачивает его устройство, но если пользователь этого не делает, направление не меняется само по себе.

поэтому Мой вопрос заключается в том, как создать пользовательские подшипники

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

func locationManager(_ manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {

    mapView.animate(toBearing: newHeading.magneticHeading)
} 

1 Ответ

0 голосов
/ 02 апреля 2019

Просто введите свойство и сохраните новое значение с самого начала.Затем, когда пользователь нажимает кнопку, поверните карту из сохраненного значения.

    var knownHeading: CLHeading
    var buttonPushed = false

    func locationManager(_ manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {
        if buttonPushed {
            mapView.animate(toBearing: newHeading.magneticHeading)
        } else {
            knownHeading = newHeading
        }
    }

    @IBAction func buttonPushed() {
        mapView.animate(toBearing: knownHeading.magneticHeading)
        buttonPushed = true

        //your other code here
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...