2011-09-01 15 views

Odpowiedz

12

double to wartość używana przez sam system iOS. iOS używa CLLocationDegrees do reprezentowania wartości długich/długich, które są typedef z podwójne.

IMO, używając double/CLLocationDegrees byłby najlepszym wyborem.

+1

Dlaczego nie używać 'CLLocationDegrees'? – deanWombourne

+0

'CLLocationDegrees' jest po prostu typedef dla double. Ale widząc ostatni komentarz z 'Dean' byłoby lepiej użyć CLLocationDegrees – rckoenes

+0

@deanWombourne, ;-) Oczywiście. Wspomniałem już, że CLLocationDegrees jest typedef double. – EmptyStack

2

Nie, nie będzie, ponieważ lat/długi iOS użyje również podwójne.

/* 
* 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

Jest już odpowiedź, że w iOS SDK :)

Weź look at CLLocationCoordinate2D - jest używany do przechowywania przez CoreLocation to lat/LNGS wykorzystujące typ CLLocationDegrees. Jeśli jest to dokładność, jaką daje CoreLocation, to jest tak dokładne, jak to się dostanie!

5

Patrząc na definicję CLLocationCoordinate2D:

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

a następnie lokalizacji CLLocationDegrees;

typedef double CLLocationDegrees; 

Widzimy, że precyzja jest podana jako podwójna. Tak więc nie można tego uczynić lepszym.

Powiązane problemy