我正在构建一个基于地理定位的应用程序,我想知道哪种数据类型最适合存储lat / long我使用的是doubleValue,但我认为我们可以更精确地像10位小数。
答案 0 :(得分:12)
double
是iOS本身使用的值。 iOS使用CLLocationDegrees
表示纬度/经度值,它是 double 的 typedef 。
IMO,使用double
/ CLLocationDegrees
将是最佳选择。
答案 1 :(得分:5)
查看CLLocationCoordinate2D的定义:
typedef struct {
CLLocationDegrees latitude;
CLLocationDegrees longitude;
}
CLLocationCoordinate2D;
然后是CLLocationDegrees;
的位置typedef double CLLocationDegrees;
我们可以看到精度是双精度的。因此,你不能做得更好。
答案 2 :(得分:3)
在iOS SDK中已有答案:)
使用look at CLLocationCoordinate2D - CoreLocation使用它来使用CLLocationDegrees类型存储它的lat / lngs。如果这是CoreLocation给你的准确性,那么这将是一个准确的,因为它会得到!
答案 3 :(得分:2)
不,它不会,因为lat / long 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;