2011-10-05 13 views
6

Estoy recibiendo la latitud/longitud de varios restaurantes desde un servidor. Quiero calcular la distancia entre cada restaurante y la latitud/longitud actual del usuario.Calcular la distancia entre la ubicación del usuario y una ubicación fija

+0

Usted ha encontrado la ubicación actual del usuario? o, tienes problemas para encontrar eso? – EmptyStack

+0

gracias por responderme: tengo las ubicaciones actuales de los usuarios y mis restaurantes de latitud larga son arreglables mutables para acceder a estos lat para encontrar la distancia. – Surya

Respuesta

3

Una vez que tenga una lista de lugares (en un sentido u otro) puede el obtener la distancia a (o de) estas usando CoreLocation para calcular esto con distanceFromLocation:

2

Puede utilizar una API proporcionada por Google para el mismo. The Google Distance Matrix API

Es perfecto para encontrar distancia. Espero que ayude.

39

Puede utilizar distanceFromLocation: método de CLLocation que devuelve la distancia en metros entre CLLocation.

CLLocation *currentLoc = /* Assume you have found it */; 
CLLocation *restaurantLoc = [[CLLocation alloc] initWithLatitude:restaurantLat longitude:restaurantLng]; 
CLLocationDistance meters = [restaurantLoc distanceFromLocation:currentLoc]; 
// Go ahead with this 
+0

gracias por responderme: tengo las ubicaciones actuales de los usuarios y mis restaurantes de latitud larga son arreglables para acceder a estos latitud por encontrar la distancia. – Surya

+0

¿Tiene solo una matriz o dos matrices para lat y long por separado? – EmptyStack

0

Swift 3

func calculateDistanceFromUser(location:CLLocation)->CLLocation!{ 
    if let userLocation = self.userUpdatedLocation{ //CLLocation 
     let meters = location.distance(from: userLocation) 
     return meters 
    } 
    return nil 
} 
Cuestiones relacionadas