So dalla documentazione che possiamo trovare la distanza tra due punti CLLocation
utilizzando la funzione, distanceFromLocation:
. Ma il mio problema è che non ho il tipo di dati CLLocation con me, ho i punti CLLocationCoordinate2D. Quindi, come posso trovare la distanza tra due punti CLLocationCoordinate2D. Ho visto il post post ma non utile per me.Ricerca della distanza tra CLLocationCoordinate2D punti
risposta
È necessario creare un oggetto di CLLocation usando,
- (id)initWithLatitude:(CLLocationDegrees)latitude
longitude:(CLLocationDegrees)longitude;
Ora usarlo, è possibile trovare la distanza.
Con il codice CLLocationDistance distance = [aCLLocationA distanceFromLocation: aCLLocationB]; // distance è un double che rappresenta la distanza in metri (Source - http://stackoverflow.com/a/10432069/1364174) –
Non è necessario creare CLLocation per ottenere la distanza tra i punti. Si prega di guardare la mia risposta in fondo –
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)
}
}
Ma penso che più simile a questo: estensione CLLocationCoordinate2D {// In meteres func distanza (#to: CLLocationCoordinate2D) -> CLLocationDistance { let da = CLLocation (latitudine: self.latitude, longitudine: self.longitude) let a = CLLocation (latitudine: to.latitude, longitudine: to.longitude) ritorno from.distanceFromLocation (a) }} – kwerle
Se è ok per voi per ottenere la distanza in metri tra i punti, quindi
CLLocationCoordinate2D coordinate1 = <some value>
CLLocationCoordinate2D coordinate2 = <some value>
…
MKMapPoint point1 = MKMapPointForCoordinate(coordinate1);
MKMapPoint point2 = MKMapPointForCoordinate(coordinate2);
CLLocationDistance distance = MKMetersBetweenMapPoints(point1, point2);
restituirà la distanza tra due punti. Non è necessario creare CLLocation
dato CLLocationCoordinate2D
. Questo definisce sono disponibili da iOS 4.0
funziona bene per me – VBaarathi
let point1 = MKMapPointForCoordinate(myLocation)
let point2 = MKMapPointForCoordinate(friendLocation)
let distance = MKMetersBetweenMapPoints(point1, point2)/1000
let distanceStr = NSString(format: "%.3f", distance)
Versione semplice della risposta di Valleri. Dividi per 1000 per ottenere KM seguito dalla conversione in stringa.
non funziona per rapida 3. –
Swift4: combinato sopra pensieri
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. Calcolo della distanza tra due punti (latitudine, longitudine)
- 2. Misurazione della distanza tra due punti Lat/Lng
- 3. MongoDB stampa la distanza tra due punti
- 4. Ottieni la distanza tra due punti geografici
- 5. Come posso calcolare la distanza tra due punti in MkMapview?
- 6. OpenLayers: come calcolare la distanza tra due punti?
- 7. Come ottenere la distanza tra due punti in Android?
- 8. Geometria: trova punto una distanza specifica tra due punti
- 9. Distanza diversa tra due punti su iOS e Android
- 10. Come calcolare la distanza tra più punti in SQL Server?
- 11. Calcola la distanza in (x, y) tra due punti GPS
- 12. Calcola la distanza tra i punti nelle tabelle di fusione
- 13. Algoritmo per calcolare una distanza tra 2 punti tridimensionali?
- 14. Distanza tra coppie di punti su un piano cartesiano
- 15. <random> uniform_real_distribution con distanza minima tra i punti
- 16. Come posso ottenere la distanza tra due punti per latlng?
- 17. Calcolare la distanza su una griglia tra 2 punti
- 18. CLLocationCoordinate2D a CLLocation
- 19. Distanza tra i geopunti
- 20. Calcolo della distanza efficiente tra N punti e un riferimento in numpy/scipy
- 21. Calcolo della distanza di tutti i punti di una regione tra loro
- 22. R/ImageJ: misurazione della distanza più breve tra punti e curve
- 23. Punti di ordinamento in modo da massimizzare la minima distanza euclidea tra punti consecutivi
- 24. Come posso stimare rapidamente la distanza tra due punti (latitudine, longitudine)?
- 25. Algoritmi veloci per la ricerca della distanza euclidea a coppie
- 26. Distanza tra gli indirizzi
- 27. distanza fisica tra due luoghi
- 28. distanza tra 2 codici postali
- 29. Distanza minima tra due segmenti di linea
- 30. Come pulire i punti salienti della ricerca di Vimperator
calcoli di distanza sono in realtà abbastanza difficile. Dovresti davvero dare una seconda occhiata a CLLocation. –
ha lat e long quindi crea cllocation e quindi usa CLLocationDistance meters = [newLocation distanceFromLocation: oldLocation]; –
Controllare questo: [distanceFromLocation - calcolare la distanza tra due punti] [1] [1]: http://stackoverflow.com/questions/3905896/distancefromlocation-calculate-distance-between-two-points – webmastx