2011-09-01 12 views

Respuesta

12

double es el valor utilizado por el iOS en sí. iOS usa CLLocationDegrees para representar valores lat/long que es typedef de double.

IMO, usando double/CLLocationDegrees sería la mejor opción.

+1

¿Por qué no utilizar 'CLLocationDegrees'? – deanWombourne

+0

'CLLocationDegrees' es solo un typedef para el doble. Pero al ver el último comentario de 'Dean', sería mejor utilizar CLLocationDegrees – rckoenes

+0

@deanWombourne, ;-) Por supuesto. Ya he mencionado que CLLocationDegrees es un typedef de doble. – EmptyStack

2

No, no lo hará, porque el lat/long iOS usará también es un doble.

/* 
* CLLocationDegrees 
* 
* Discussion: 
* Type used to represent a latitude or longitude coordinate in degrees under the WGS 84 reference 
* frame. The degree can be positive (North and East) or negative (South and West). 
*/ 
typedef double CLLocationDegrees; 
3

Ya hay una respuesta a eso en el SDK de iOS :)

Tome un look at CLLocationCoordinate2D - es utilizado por CoreLocation para almacenar es de lat/LNG utilizando el tipo CLLocationDegrees. Si esa es la precisión que CoreLocation te da, entonces ¡eso es un cambio ya que se va a conseguir!

5

En cuanto a la definición de CLLocationCoordinate2D:

typedef struct { 
    CLLocationDegrees latitude; 
    CLLocationDegrees longitude; 
} 
CLLocationCoordinate2D; 

y luego la ubicación de CLLocationDegrees;

typedef double CLLocationDegrees; 

podemos ver que la precisión se da como doble. Por lo tanto, no puedes hacerlo mejor que eso.

Cuestiones relacionadas