如何在iOS中存储GPS坐标?

时间:2012-12-28 04:57:11

标签: objective-c ios gps coordinate

我有一些兴趣点,并希望对它们进行硬编码,但目标c似乎没有干净的设施。

我想将两个数字关联到一个字符串: @“酷点”,37.77794,-122.41933

我是否需要NSStrings的NSDictionary并将每个浮点数转换为字符串?将所有这些分组似乎太多了?我应该制作一个c-struct吗?这种情况有很多,但无法想到这可能是一个干净的解决方案。

由于

2 个答案:

答案 0 :(得分:7)

您打算如何存储?如果您使用核心数据之类的东西,那么最简单的选择是为经度和纬度使用2个单独的数字,然后在访问数据时简单地创建一个坐标(如提到的那样CLLocationCoordinate2D)

它非常依赖于您的存储方法,因为iOS只允许为不同的方法保存某些类型的对象。

如果你实际上并没有将它存储到文件中并且只是在内存中使用它,那么正如汤姆所说,像CLLocationCoordinate2D这样的东西可以工作,这是一个结构而不是一个对象。如果需要实际对象,请在内部使用包含CLLocationCoordinate2D对象的CLLocation。

您可以使用以下命令创建CLLocationCoordinate2D对象:

CLLocationCoordinate2D coord = CLLocationCoordinate2DMake(latitude, longitude);

或者,如果您需要对象包装器,则使用以下命令创建CLLocation对象:

CLLocation *loc = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude];

答案 1 :(得分:2)

查看CLLocationCoordinate2DCLLocationCoordinate2D - Apple Developer Docs),其中包含latitude字段和longitude字段。