Значение метки скорости не меняется при движении автомобиля - PullRequest
1 голос
/ 26 февраля 2020

Я новичок в Swift. Я внедрил Google Maps SDK, а также хочу показать скорость, когда пользователь начинает движение или за рулем своего автомобиля.

Я использую CLLocationSpeed ​​ и сохраняю его в переменной.

Прямо сейчас я получаю значение скорости, когда пользователь нажимает кнопку запуска для навигации, но оно не меняется, так как пользователь движется. Я хочу сделать его более динамичным c.

Я приложил код и изображение для метки для того же самого ..

c

 var locationManager: CLLocationManager
 var speedlabel: UILabel = UILabel()
 var timerspeed: Timer?
 var speed: CLLocationSpeed = CLLocationSpeed()


@objc func runspeedcheck() {
        speedlabel.text = "\(speed)kph"

    }

func startnavigation {

 timerspeed = Timer(timeInterval: 1.0, target: self, selector: #selector(runspeedcheck), userInfo: nil, repeats: true)
}

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
        speed = locationManager.location!.speed
}

Это правильный способ сделать его более динамичным c или есть ли способ внести изменения в метку скорости при перемещении пользователя Любая помощь приветствуется !!

СПАСИБО И С уважением

1 Ответ

0 голосов
/ 26 февраля 2020

Нет необходимости создавать отдельную переменную CLLocationSpeed для получения обновлений speed.

Вы можете просто сделать это так,

class VC: UIViewController, CLLocationManagerDelegate {
    @IBOutlet weak var speedlabel: UILabel!
    var locationManager = CLLocationManager()

    override func viewDidLoad() {
        super.viewDidLoad()
        locationManager.delegate = self
        locationManager.requestWhenInUseAuthorization()
        locationManager.startUpdatingLocation()
    }

    func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
        if let speed = manager.location?.speed {
            self.speedlabel.text = String(describing: speed)
        }
    }
}

Выше приведен пример кода. Измените его согласно вашему требованию.

...