Какой самый лучший и самый точный тип данных для хранения широты и долготы в iphone xcode? - PullRequest
6 голосов
/ 01 сентября 2011

Я создаю приложение на основе геолокации и хочу знать, какой тип данных лучше всего подходит для хранения широты / долготы. Я использую doubleValue, но я думаю, что мы можем быть более точными, например, 10 десятичных знаков.

Ответы [ 4 ]

12 голосов
/ 01 сентября 2011

double - это значение, используемое самой iOS.iOS использует CLLocationDegrees для представления значений широты / долготы, которые являются typedef из double .

IMO, использование double / CLLocationDegrees будет лучшим выбором.

5 голосов
/ 01 сентября 2011

Глядя на определение CLLocationCoordinate2D:

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

и затем местоположение CLLocationDegrees;

typedef double CLLocationDegrees;

, мы видим, что точность задана как двойная.Таким образом, вы не можете сделать это лучше, чем это.

3 голосов
/ 01 сентября 2011

Ответ на этот вопрос уже есть в iOS SDK:)

Взгляните на CLLocationCoordinate2D - он используется CoreLocation для хранения значений lat / lngs с использованием типа CLLocationDegrees. Если это точность, которую дает вам CoreLocation, то это очень точно!

2 голосов
/ 01 сентября 2011

Нет, не будет, потому что будет использоваться широта / долгота iOS, также двойная.

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