0

我一直在为此苦苦挣扎。我阅读了很多资源,但仍然无法找到明确的解决方法。

我有一个带有纬度和经度行的 Sqlite 表。我的任务是获取这些纬度和经度并将它们放入一个数组中,然后稍后用于在地图上显示所有引脚。我在我的 AppDelegate 中执行这些“从数据库读取”(这是可取的还是在具有地图的视图控制器中更好?)

我获取 lat 和 long 作为 double 值,如下所示

while (sqlite3_step(selectStmt)==SQLITE_ROW){
    double latitude= sqlite3_column_double(selectStmt, 1);
    double longitude= sqlite3_column_double(selectStmt, 2);

    CLLocationCoordinate2D coord=CLLocationCoordinate2DMake(latitude,longitude);
            // I want to add this to an array, so that i can use later for annotations
}

但是,当我尝试添加“addObject 参数 1 的不兼容类型”时。

这是从 sqlite 获取多个坐标以显示在地图上的正确方法吗?

帮助将不胜感激

4

2 回答 2

1

您需要使用 CLLocation 类来存储您的位置数据。 http://developer.apple.com/library/ios/#DOCUMENTATION/CoreLocation/Reference/CLLocation_Class/CLLocation/CLLocation.html#//apple_ref/doc/uid/TP40007126

CLLocation *location = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude];
[array addObject:location];
[location release];
于 2011-08-06T15:18:09.153 回答
1

CLLocationCoordinate2D 是一个结构而不是一个对象,您需要 addObject 方法的对象。

您可以按照 Evgeniy 的建议使用 CLLocation 或创建自己的对象来存储/检索这些值。

于 2011-08-06T15:28:59.603 回答