Ich weiß aus der Dokumentation, dass wir den Abstand zwischen zwei CLLocation
Punkten mit der Funktion distanceFromLocation:
finden können. Aber mein Problem ist, dass ich CLLocation-Datentyp nicht mit mir habe, ich habe die CLLocationCoordinate2D Punkte. Wie kann ich den Abstand zwischen zwei CLLocationCoordinate2D-Punkten finden? Ich habe den Beitrag post gesehen, aber nicht hilfreich für mich.Ermitteln der Entfernung zwischen CLLocationCoordinate2D Punkten
Antwort
Sie sollten ein Objekt von CLLocation erstellen verwenden,
- (id)initWithLatitude:(CLLocationDegrees)latitude
longitude:(CLLocationDegrees)longitude;
Jetzt mit ihm können Sie Abstand finden.
Mit dem Code CLLocationDistance distance = [aCLLocationA distanceFromLocation: aCLLocationB]; // Abstand ist ein Double, das die Entfernung in Metern darstellt (Quelle - http://Stackoverflow.com/a/10432069/1364174) –
Es muss kein CLLocation erstellt werden, um die Entfernung zwischen den Punkten zu ermitteln. Schauen Sie bitte auf meine Antwort im unteren –
Swift 4:
extension CLLocation {
/// Get distance between two points
///
/// - Parameters:
/// - from: first point
/// - to: second point
/// - Returns: the distance in meters
class func distance(from: CLLocationCoordinate2D, to: CLLocationCoordinate2D) -> CLLocationDistance {
let from = CLLocation(latitude: from.latitude, longitude: from.longitude)
let to = CLLocation(latitude: to.latitude, longitude: to.longitude)
return from.distance(to)
}
}
Aber ich denke, mehr wie folgt aus: Erweiterung CLLocationCoordinate2D { // In meteres func Abstand (#Um: CLLocationCoordinate2D) -> CLLocationDistance { let from = CLLocation (Breite: self.latitude, Länge: self.longitude) lET = CLLocation (Breite: to.latitude, Länge: to.longitude) return from.distanceFromLocation (to) } } – kwerle
Wenn es in Ordnung ist für Sie Abstand in Metern zwischen den Punkten zu bekommen, dann
CLLocationCoordinate2D coordinate1 = <some value>
CLLocationCoordinate2D coordinate2 = <some value>
…
MKMapPoint point1 = MKMapPointForCoordinate(coordinate1);
MKMapPoint point2 = MKMapPointForCoordinate(coordinate2);
CLLocationDistance distance = MKMetersBetweenMapPoints(point1, point2);
den Abstand zwischen zwei Punkten zurück. No muss CLLocation
von CLLocationCoordinate2D
erstellt werden. Diese Definitionen sind seit iOS 4.0 verfügbar
für mich funktioniert gut – VBaarathi
let point1 = MKMapPointForCoordinate(myLocation)
let point2 = MKMapPointForCoordinate(friendLocation)
let distance = MKMetersBetweenMapPoints(point1, point2)/1000
let distanceStr = NSString(format: "%.3f", distance)
Einfache Version von Valleri's Antwort. Teile durch 1000, um KM zu erhalten, gefolgt von der Umwandlung in eine Zeichenfolge.
nicht für eine schnelle 3 arbeiten. –
Swift4: oben Gedanken kombiniert
extension CLLocationCoordinate2D {
//distance in meters, as explained in CLLoactionDistance definition
func distance(from: CLLocationCoordinate2D) -> CLLocationDistance {
let destination=CLLocation(latitude:from.latitude,longitude:from.longitude)
return CLLocation(latitude: latitude, longitude: longitude).distance(from: destination)
}
}
- 1. Android Entfernung zwischen zwei Punkten
- 2. Sphärische Entfernung zwischen zwei Punkten auf der Erde
- 3. Entfernung zwischen mehreren Punkten in Android Listview
- 4. Ermitteln der Entfernung mit Mapkit
- 5. Berechnen der Entfernung zwischen 2 Punkten in C#
- 6. Effiziente Methode zum Finden der Entfernung zwischen zwei 3D-Punkten
- 7. Finden der Entfernung zwischen 2 Punkten mit Google Maps API
- 8. Berechnung der Entfernung zwischen zwei Punkten mit Pythagoras Theorem
- 9. Berechnen der Entfernung zwischen Punkten in Fusion Tabellen
- 10. JAVA, Methode, um die Entfernung zwischen verschiedenen Punkten
- 11. Fahrstrecke zwischen zwei Punkten
- 12. OpenLayers: Wie berechne ich die Entfernung zwischen zwei Punkten?
- 13. Entfernung zwischen zwei Punkten über Land mit sql Server
- 14. Finden Sie die Entfernung zwischen 2 Punkten auf Raster
- 15. findet Entfernung zwischen zwei geo Punkten mit Richtung android
- 16. Wie erreiche ich die Entfernung zwischen zwei Punkten in Android?
- 17. Am weitesten weg und Entfernung in Meilen zwischen zwei Punkten
- 18. wie man die Entfernung zwischen zwei geographischen Punkten berechnet
- 19. Gibt es eine API, um die Entfernung zwischen 2 Punkten durch Google Maps zu bestimmen?
- 20. R Berechnung der Entfernung zwischen 2 Punkten auf der Erde mit Paket Geosphäre
- 21. MongoDB Druckabstand zwischen zwei Punkten
- 22. Wie verwende ich OpenStreetMap, um die Entfernung zwischen zwei Punkten zu erhalten?
- 23. Wie zeigt die Entfernung zwischen der Position in der Karte?
- 24. Tatsächliche Leistungsvorteile der Entfernung im Quadrat im Vergleich zur Entfernung
- 25. Berechnung der kürzesten Entfernung zwischen UTM-Punkten in zwei Datensätzen R
- 26. Berechnung der Entfernung zwischen zwei Punkten, mit Breitengrad Länge, was mache ich falsch?
- 27. Entfernung zwischen 2 Geocodes
- 28. Alle Linien zwischen Punkten
- 29. Winkel zwischen 3 Punkten?
- 30. Position zwischen zwei Punkten?
Entfernung Berechnungen sind eigentlich recht schwierig. Sie sollten sich wirklich einen zweiten Blick auf CLLocation werfen. –
Haben Sie lat und lange dann erstellen Sie cLocation und verwenden Sie CLLocationDistance Meter = [newLocation distanceFromLocation: oldLocation]; –
prüfen this: [distanceFromLocation - Berechnen Abstand zwischen zwei Punkten] [1] [1]: http://stackoverflow.com/questions/3905896/distancefromlocation-calculate-distance-between-two-points – webmastx