читать широту и долготу с sqlite iphone - PullRequest
0 голосов
/ 06 августа 2011

Я долго боролся с этим. Я прочитал много ресурсов, но до сих пор не смог найти четкого способа обойти это.

У меня есть таблица 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 для отображения на картах?

Помощь будет оценена

Ответы [ 2 ]

1 голос
/ 06 августа 2011

CLLocationCoordinate2D - это структура, а не объект, и вам нужны объекты для методов addObject.

Вы можете использовать CLLocation, как предлагает Евгений, или создать свой собственный объект для хранения / получения этих значений.

1 голос
/ 06 августа 2011

Вам необходимо использовать класс 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];
...