开发者

read latitude and longitude from sqlite iphone

开发者 https://www.devze.com 2023-03-26 14:20 出处:网络
I have been struggling with this for long. I read many resources but still not able to find a clear way around it.

I have been struggling with this for long. I read many resources but still not able to find a clear way around it.

I have a Sqlite table with rows of latitudes and longitudes. My task is to fetch those latitudes and longitude开发者_JAVA百科s and put them in an array and then use later for displaying on map with all the pins. I do these "reading from database" in my AppDelegate (is this advisable or is it better to do in view controller which has the map?)

I fetch the lat and long as double values as shown below

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
}

However when i try to add "Incompatible type for argument 1 off addObject".

Is this the right way of fetching multiple coordinates from sqlite to display on maps?

Help would be appreciated


You need to use CLLocation class to store your location data. 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];


CLLocationCoordinate2D is a struct not an object and you need objects for addObject methods.

You can use the CLLocation as Evgeniy suggest or create your own object to store/retrieve those values.

0

精彩评论

暂无评论...
验证码 换一张
取 消