我一直在努力解决这个问题。我阅读了很多资源,但仍无法找到明确的方法。
我有一个包含纬度和经度行的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
}
然而,当我尝试添加“不兼容的类型参数1关闭addObject”。
这是从sqlite获取多个坐标以在地图上显示的正确方法吗?
帮助将不胜感激
答案 0 :(得分: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];
答案 1 :(得分:1)
CLLocationCoordinate2D是一个结构而不是一个对象,你需要addObject方法的对象。
您可以将CLLocation用作Evgeniy建议或创建自己的对象来存储/检索这些值。