iphone - Cadena a CLLocation latitud y longitud
objective-c string (5)
Creo que necesitas:
LocationAtual.coordinate.latitude = [@"-56.6462520" floatValue];
LocationAtual.coordinate.longitude = [@"-36.6462520" floatValue];
Tengo dos cadenas que representan la latitud y la longitud como: "-56.6462520", y quiero asignarlas a un objeto CLLocation para comparar con mi ubicación actual. Probé el siguiente código pero solo obtengo errores:
CLLocation * LocationAtual = [[CLLocation alloc]init];
LocationAtual.coordinate.latitude = @"-56.6462520";
LocationAtual.coordinate.longitude = @"-36.6462520";
y luego comparar el objeto con mi latitud y longitud de ubicación real. ¿Alguna sugerencia?
La coordenada CLLocation es en realidad un valor de solo lectura
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
Así que la mejor manera de asignar datos ficticios a las coordenadas es AMITp.
La latitud y la longitud son valores dobles, por lo que deben asignarse de esta manera.
CLLocation *LocationAtual=[[CLLocation alloc] initWithLatitude:[[location objectForKey:@"latitude"] doubleValue] longitude:[[location objectForKey:@"longitude"] doubleValue]]
No se puede asignar directamente a una coordenada ; es una propiedad de solo lectura de CLLocation.
Utilice el siguiente método de instancia:
- (instancetype)initWithLatitude:(CLLocationDegrees)latitude
longitude:(CLLocationDegrees)longitude
ejemplo:
CLLocation *LocationAtual = [[CLLocation alloc] initWithLatitude:-56.6462520 longitude:-36.6462520];
Respuesta rápida para los perezosos:
var LocationAtual: CLLocation = CLLocation(latitude: -56.6462520, longitude: -36.6462520)