Berechnen Sie die Gesamt zurückgelegte Distanz iOS Swift
Wie kann ich berechnen Sie die gesamte zurückgelegte Entfernung verwenden CoreLocation in Swift
Habe ich noch nicht in der Lage, so weit zu finden keine Ressourcen für Sie, wie dies in Swift für iOS 8,
Wie würden Sie berechnen die Gesamt-Distanz verschoben, da begann Sie verfolgen Sie Ihre Position?
Von dem, was ich bisher gelesen habe, muss ich sparen, Lage der Punkte, dann berechnen Sie den Abstand zwischen dem aktuellen Punkt und dem letzten Punkt, dann fügen Sie die Entfernung zu einem totalDistance variable
Objective-C ist extrem ungewohnt für mich, so dass ich nicht in der Lage zu arbeiten, das swift-syntax
Hier ist, was ich verstanden habe bisher, nicht sicher, ob ich es richtig machen. Obwohl die distanceFromLocation
Methode ist die Rücksendung alle 0.0 die so offensichtlich etwas falsch,
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
var newLocation: CLLocation = locations[0] as CLLocation
oldLocationArray.append(newLocation)
var totalDistance = CLLocationDistance()
var oldLocation = oldLocationArray.last
var distanceTraveled = newLocation.distanceFromLocation(oldLocation)
totalDistance += distanceTraveled
println(distanceTraveled)
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
update: Xcode 8.3.2 • Swift 3.1
Das problem dort ist, weil Sie immer auf der gleichen Stelle immer und immer wieder. Versuchen Sie es so:
Beispiel-Projekt
lastLocation.distanceFromLocation(lastLocation)
, tthere sind zweilastLocation
s. Die erste sollte die class-variable, richtig? So wie diese?self.lastLocation.distanceFromLocation(lastLocation)
Wenn Sie berechnen möchten, die Streckenlänge zwischen zwei Punkten, die Sie verwenden müssen
MKDirectionsRequest
, Sie kehren zurück, oder viele, Routen von Punkt A nach Punkt B mit der Schritt für Schritt Anleitung:Diesem Beispiel-code werden Sie wieder dieses:
Die Funktion kann leicht geändert werden, um von zwei Standorten und zurück, die Entfernung und alle weiteren benötigten Informationen.
Ich hoffe, dass hilft dir!
Leo Dabus-Methode verwendet werden könnte, um die Berechnung der geografischen Entfernung zwischen dem tatsächlichen Standort und eine.
Um die genaue Länge der Strecke, die Sie haben, zu aktualisieren "traveledDistance" die Differenz zwischen der letzten position und der alten.
Dies ist meine Umsetzung: