-1

私は(最初にアプリを起動したときの)開始位置から現在の位置までの距離を計算してラベル(meters.text)に表示しようとしていますが、何も表示されません..これが私のコードです:

import UIKit
import CoreLocation

class CorrectViewController: UIViewController,CLLocationManagerDelegate {

@IBOutlet weak var meters: UILabel!
    var wr: Int = 0
    var distance = CLLocationDistance()
    let locationManager = CLLocationManager()


    override func viewDidLoad() {
    super.viewDidLoad()

    self.locationManager.delegate = self
    self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
    self.locationManager.requestWhenInUseAuthorization() //starts when i use the app
    self.locationManager.distanceFilter = kCLHeadingFilterNone
    self.locationManager.startUpdatingLocation()
        }

        //locatioManager delegate method
        func locationManager(manager: CLLocationManager, didUpdateToLocation newLocation: CLLocation, fromLocation oldLocation: CLLocation) {
            let currentLocation: CLLocation = newLocation
            let startLocation: CLLocation = oldLocation
            distance = startLocation.distanceFromLocation(currentLocation)
            let tripString = NSString(format: "%.2f", distance)
            meters.text = ("\(tripString)")
  }


func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
    meters.text = ("error!")
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

どんな助けでも大歓迎です:)

4

2 に答える 2

0

さて、多くの検索と「試行錯誤」の後、私は解決策を見つけましたhere . メソッドdidUpdateToLocationを使用する代わりに、メソッドdidUpdateLocations使用する必要があります。さらに、NSLocationAlwaysUsageDescription キーまたは NSLocationWhenInUseUsageDescription キーを .plist ファイルに入れることが非常に重要です(は、ロケーション アラートで表示される追加のメッセージである場合があります)。これらのキーは iOS 8 で必要です。

于 2015-11-03T14:25:07.920 に答える