Cadena de CLLocation latitud y Longitud

Tengo dos cadenas que representan latitud y longitud como: «-56.6462520», y quiero asignar, a continuación, a un CLLocation objeto de comparar a mi ubicación actual.He probado el siguiente código pero me da errores sólo:

CLLocation * LocationAtual = [[CLLocation alloc]init];
LocationAtual.coordinate.latitude = @"-56.6462520";
LocationAtual.coordinate.longitude = @"-36.6462520";

y, a continuación, comparar el objeto con mi actual ubicación en latitud y longitud. Alguna sugerencia?

  • Objective-C de la convención es camelCase para var nombres.

5 Kommentare

  1. 13

    Creo que usted necesita:

    LocationAtual.coordinate.latitude = [@"-56.6462520" floatValue];
    LocationAtual.coordinate.longitude = [@"-36.6462520" floatValue];
    • Tengo el punto, creo que la conversión es correcta, pero estoy recibiendo este error: «Lvaule requiere como a la izquierda el operando de la asignación»…
    • stackoverflow.com/questions/5527878/…
    • No puedo eliminar aceptado la respuesta, pero de acuerdo AmitP la respuesta es correcta. Mi respuesta fue, a lo largo de las líneas de «usted no puede utilizar una cadena de caracteres como un número»
    • La expresión no es asignable
  2. 107

    No se pueden asignar directamente a coordinar – es una propiedad readonly 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];
    • Eso es cierto, no se puede asignar a CLLocation atributos.
    • La respuesta anterior era incorrecta. Esta es la correcta.
  3. 7

    Respuesta rápida para los perezosos:

    var LocationAtual: CLLocation = CLLocation(latitude: -56.6462520, longitude: -36.6462520)
  4. 2

    CLLocation coordinar en realidad es un valor de sólo lectura

        @property (nonatomic, readonly) CLLocationCoordinate2D coordinate;

    Así que la mejor manera de asignar datos ficticios para las coordenadas es AMITp manera

  5. 1

    latitud y la longitud son el doble de los valores, deben ser asignados de esta manera.

    CLLocation *LocationAtual=[[CLLocation alloc] initWithLatitude:[[location objectForKey:@"latitude"] doubleValue] longitude:[[location objectForKey:@"longitude"] doubleValue]]

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea