Voglio fare in modo che mostrerà la quantità di distanza tra due coordinate CLLocation. C'è un modo per farlo senza una complessa formula matematica? Se non c'è come lo faresti con una formula?Come scoprire la distanza tra le coordinate?
risposta
CLLocation ha un metodo distanceFromLocation così dato due CLLocations:
CLLocationDistance distanceInMeters = [location1 distanceFromLocation:location2];
o in Swift 4:
//: Playground - noun: a place where people can play
import CoreLocation
let coordinate₀ = CLLocation(latitude: 5.0, longitude: 5.0)
let coordinate₁ = CLLocation(latitude: 5.0, longitude: 3.0)
let distanceInMeters = coordinate₀.distance(from: coordinate₁) // result is in meters
si arriva qui distanza in metro così 1 miglia = 1609 metri
if(distanceInMeters <= 1609)
{
// under 1 mile
}
else
{
// out of 1 mile
}
Come convertire questo in miglia? –
Oh aspetta ho capito! Grazie. (: –
Secondo Google, ci sono 0.000621371 miglia in un metro, quindi suggerirei di moltiplicarlo per 0.000621371. –
Per Objective-C
È possibile utilizzare distanceFromLocation
per trovare la distanza tra due coordinate.
Frammenti di codice:
CLLocation *loc1 = [[CLLocation alloc] initWithLatitude:lat1 longitude:lng1];
CLLocation *loc2 = [[CLLocation alloc] initWithLatitude:lat2 longitude:lng2];
CLLocationDistance distance = [loc1 distanceFromLocation:loc2];
L'output verrà in metri.
la domanda qui è didascalia con 'rapido'. Quindi forse è necessario aggiornare la risposta o aggiungere "Per obiettivo-c:" @Vijay –
Prova questo fuori:
distanceInMeters = fromLocation.distanceFromLocation(toLocation)
distanceInMiles = distanceInMeters/1609.344
Valore di ritorno: La distanza (in metri) tra le due posizioni.
È in miglia? –
No - è in metri. Si prega di consultare il mio post aggiornato. – Abhinav
C'è un modo per trasformarlo in miglia? –
Si prega di leggere il documento prima di chiedere – Cosyn
@Cosyn Bene, lo farò la prossima volta. Mi dispiace per quello –