Sé por la documentación que podemos encontrar la distancia entre dos puntos CLLocation
usando la función, distanceFromLocation:
. Pero mi problema es que no tengo datos de CLLocation conmigo, tengo los puntos CLLocationCoordinate2D. Entonces, ¿cómo puedo encontrar la distancia entre dos puntos CLLocationCoordinate2D? He visto la publicación post pero no me ha ayudado.Encontrar la distancia entre CLLocationCoordinate2D puntos
Respuesta
Debe crear un objeto de CLLocation usando,
- (id)initWithLatitude:(CLLocationDegrees)latitude
longitude:(CLLocationDegrees)longitude;
Ahora usarlo, usted puede encontrar la distancia.
Con el código CLLocationDistance distance = [aCLLocationA distanceFromLocation: aCLLocationB]; // distancia es un doble que representa la distancia en metros (Fuente - http://stackoverflow.com/a/10432069/1364174) –
No necesita crear CLLocation para obtener distancia entre puntos. Por favor, mire mi respuesta en la parte inferior –
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)
}
}
Pero creo que de la misma familia: extensión CLLocationCoordinate2D {// En meteres func distancia (# para: CLLocationCoordinate2D) -> CLLocationDistance { let de CLLocation = (latitud: self.latitude, longitud: self.longitude) let a = CLLocation (latitud: to.latitude, longitud: to.longitude) retorno from.distanceFromLocation (a) }} – kwerle
Si está bien para que usted pueda obtener la distancia en metros entre los puntos, entonces
CLLocationCoordinate2D coordinate1 = <some value>
CLLocationCoordinate2D coordinate2 = <some value>
…
MKMapPoint point1 = MKMapPointForCoordinate(coordinate1);
MKMapPoint point2 = MKMapPointForCoordinate(coordinate2);
CLLocationDistance distance = MKMetersBetweenMapPoints(point1, point2);
devolverá la distancia entre dos puntos. No necesita crear CLLocation
dando CLLocationCoordinate2D
. Esto define están disponibles desde iOS 4.0
funciona bien para mí – VBaarathi
let point1 = MKMapPointForCoordinate(myLocation)
let point2 = MKMapPointForCoordinate(friendLocation)
let distance = MKMetersBetweenMapPoints(point1, point2)/1000
let distanceStr = NSString(format: "%.3f", distance)
Versión simple de la respuesta de Valleri. Divida por 1000 para obtener KM seguido de la conversión a cadena.
que no trabaja para sWIFT 3. –
Swift4: combinado por encima de pensamientos
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. distanceFromLocation - Calcular la distancia entre dos puntos
- 2. Manera eficiente de encontrar la distancia entre dos puntos 3D
- 3. ¿Cómo encuentro la distancia entre dos puntos?
- 4. Obtener la distancia entre dos puntos geográficos
- 5. la distancia entre dos puntos Android
- 6. Cálculo de la distancia entre dos puntos
- 7. Distancia entre dos lat, lon puntos
- 8. Encontrar la distancia entre dos círculos
- 9. cómo encontrar la distancia entre dos geopoints?
- 10. la distancia más corta entre dos puntos (conjunto disjunto)
- 11. Medir la distancia entre dos puntos Lat/Lng
- 12. ¿Cómo puedo calcular la distancia entre dos puntos en MkMapview?
- 13. OpenLayers: ¿Cómo calcular la distancia entre dos puntos?
- 14. ¿Cómo puedo obtener la distancia entre dos puntos latlng?
- 15. Encontrar la distancia máxima entre (x, y) coordenadas
- 16. Encontrar puntos en una línea con una distancia dada
- 17. Django: ¿cómo puedo encontrar la distancia entre dos ubicaciones?
- 18. ¿Cómo encontrar la distancia entre dos direcciones? (Java server side)
- 19. CLLocationCoordinate2D a CLLocation
- 20. ¿Cómo usar OpenStreetMap para obtener distancia entre dos puntos?
- 21. Diferencia de distancia entre dos puntos en iOS y Android
- 22. Algoritmo para calcular una distancia entre 2 puntos tridimensionales?
- 23. ¿Encontrar coordenadas de un punto entre dos puntos?
- 24. Encontrar puntos de intersección entre 3 esferas
- 25. Cuál es la diferencia entre MKCoordinateSpan y CLLocationCoordinate2D
- 26. Distancia entre la expresión regular
- 27. Encontrar la distancia mínima en una mesa
- 28. Matplotlib - Cómo establecer la distancia (en mm/cm/puntos ...) entre los xticks
- 29. Seguimiento: Encontrar una "distancia" entre los colores exactos
- 30. ¿Cuál es el camino más rápido para encontrar la distancia más corta entre dos cartesiano polígonos
cálculos de distancia son en realidad bastante complicado. Deberías echarle un vistazo a CLLocation. –
¿tiene latitud y longitud luego crea una clúster y luego usa CLLocationDistance meters = [newLocation distanceFromLocation: oldLocation]; –
Comprobar esto: [distanceFromLocation - Calcular la distancia entre dos puntos] [1] [1]: http://stackoverflow.com/questions/3905896/distancefromlocation-calculate-distance-between-two-points – webmastx