Zurückgelegte Distanz berechnen und in Label anzeigen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Zurückgelegte Distanz berechnen und in Label anzeigen

    Hallo zusammen.

    Ich stehe auf dem Schlauch. Ich bin dabei ein Fahrtenbuch zu bauen. Dafür wird die Route die ich gefahren bin getrackt, und natürlich soll auch die gefahrene Distanz angezeigt werden. Hier ist mein Code:

    Quellcode

    1. // Variables for travel distance
    2. let formatter = MKDistanceFormatter()
    3. var startLocation:CLLocation!
    4. var lastLocation: CLLocation!
    5. var traveledDistance:Double = 0


    Und hier die Methode:

    Quellcode

    1. // MARK: Travel distance function
    2. func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
    3. if startLocation == nil {
    4. startLocation = (locations.first as! CLLocation)
    5. } else {
    6. let lastLocation = locations.last as! CLLocation
    7. let distance = startLocation.distance(from: lastLocation)
    8. startLocation = lastLocation
    9. traveledDistance += distance
    10. }
    11. }
    Alles anzeigen

    Hier rufe ich beim Drücken eines Buttons die Funktion auf:

    Quellcode

    1. formatter.units = .metric
    2. formatter.unitStyle = .default
    3. let distanceSting = formatter.string(fromDistance: traveledDistance)
    4. distanceDriven.text = distanceSting
    5. print (traveledDistance)
    Nun ergeben sich mir darraus zwei Probleme:

    1. Die Distanz scheint nicht gemessen zu werden.
    2. Das Label wird mir in Meter formatiert. Hier wäre es natürlich besser, z.B. 24.50 Kilometer anzuzeigen.


    Kann mir da jemand aus dem Quark helfen?

    Viele Grüsse,

    Stephan
    MacBook Pro 16" M2 Max 32 GB RAM, - iPad Pro 12.9" M1 256 GB WiFi+Cellular - iPhone 14 Pro 256 GB - Apple Watch Ultra
  • Also, den ersten Teil habe ich dank dem Hinweis hinbekommen. Nun wird mir aber immer noch das Label in Meter angezeigt.


    Quellcode

    1. formatter.units = .metric
    2. formatter.unitStyle = .default
    3. let distanceString = formatter.string(fromDistance: traveledDistance)
    4. distanceDriven.text = distanceString
    5. print (traveledDistance)
    Wie bekomme ich das nun hin, dass mir die Ausgabe in xx.xx Km angezeigt wird?

    EDIT: Das Thema hat sich bereits erledigt. Besten Dank für die Hilfe... :)
    MacBook Pro 16" M2 Max 32 GB RAM, - iPad Pro 12.9" M1 256 GB WiFi+Cellular - iPhone 14 Pro 256 GB - Apple Watch Ultra

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Thaddäus ()