Berechne die gesamte zurückgelegte Entfernung iOS Swift

7

Wie kann ich die gesamte zurückgelegte Entfernung mit CoreLocation in Swift berechnen?

Ich konnte bisher in Swift für iOS 8 keine Ressourcen finden, um dies zu tun,

Wie würden Sie die gesamte zurückgelegte Entfernung berechnen, seit Sie mit der Verfolgung Ihres Standorts begonnen haben?

Nach dem, was ich bisher gelesen habe, muss ich die Position eines Punktes speichern, dann den Abstand zwischen dem aktuellen Punkt und dem letzten Punkt berechnen und diesen Abstand dann zu einer totalDistance-Variable hinzufügen

Objective-C ist mir sehr unbekannt, so dass ich die schnelle Syntax nicht ausarbeiten konnte

Hier ist, was ich bisher herausgefunden habe, nicht sicher, ob ich es richtig mache. Obwohl die Methode distanceFromLocation alle 0.0 zurückgibt, ist offensichtlich etwas nicht in Ordnung

%Vor%     
YichenBman 09.03.2015, 22:15
quelle

3 Antworten

16

update: Xcode 8.3.2 • Schnelle 3.1

Das Problem besteht darin, dass Sie immer wieder den gleichen Standort bekommen. Versuche es so:

%Vor%

Beispielprojekt

    
Leo Dabus 09.03.2015, 23:29
quelle
5

Wenn Sie die Streckenentfernung zwischen zwei Punkten berechnen möchten, müssen Sie MKDirectionsRequest verwenden, damit erhalten Sie Schritt für Schritt eine oder mehrere Routen von A nach B Anleitung:

%Vor%

Dieser Beispielcode gibt Ihnen Folgendes zurück:

%Vor%

Die Funktion kann leicht modifiziert werden, um zwei Positionen zu erhalten und die Entfernung und andere benötigte Informationen zurückzugeben.

Ich hoffe, das hilft dir!

    
Icaro 13.06.2015 00:58
quelle
4

Leo Dabus Methode könnte verwendet werden, um die geografische Entfernung zwischen Ihrem tatsächlichen Standort zu berechnen und einen zu beginnen.

Um die genaue zurückgelegte Entfernung zu erhalten, müssen Sie "gereiste Entfernung" anhand der Differenz zwischen der letzten und der alten Position aktualisieren.

Dies ist meine Implementierung:

%Vor%     
Francesco Cambria 05.08.2015 14:45
quelle