2013-05-10 2 views
0

Я довольно новичок в Objective-c & в настоящее время строит свое первое приложение. Я пытаюсь вывести местоположение iPhone на строку, которая будет использоваться в запросе JSON.Сохранить iPhone Расположение как NSString?

У меня есть запрос, но я не уверен, как получить местоположение iPhone, не говоря уже о строке & Яблоко Документация, которую мне трудно найти.

Как я могу это сделать?

Edit: я видел, как реализовать расположение так:

- (void)locationManager:(CLLocationManager *)manager 
didUpdateToLocation:(CLLocation *)newLocation 
     fromLocation:(CLLocation *)oldLocation { 
CLLocationDegrees latitude = newLocation.coordinate.latitude; 
CLLocationDegrees longitude = newLocation.coordinate.longitude; 
} 

Однако я не уверен, куда положить это, это не объект это?

Мне не нужно его инициализировать?

Я пробовал редактировать это, чтобы вернуть newLocation в качестве помехи вместо void, но как это назвать?

Какой вклад мне нужен (CLLocationManager *)?

ответ

1

CLLocationManager класс позволяет отслеживать текущее местоположение.

Если вы хотите использовать его, чтобы найти место, это то, что вам нужно сделать:

// Create an instance of CLLocationManager class : 
CLLocationManager *locationManager = [[CLLocationManager alloc] init]; 

// Set the delegate of your instance : 
locationManager.delegate = self; // Set your controller as a <CLLocationManagerDelegate>. 

// Now update your location : 
[locationManager startUpdatingLocation]; 

Теперь, каждый раз когда CLLocationManager экземпляр сделал обновление, метод делегата называется:

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations; 

Это означает, что каждый раз, когда ваш locationManager обновляет свое местоположение, этот метод вызывается.

Теперь вы можете переписать метод, добавив в файл .m:

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations 
{ 
    // Do whatever you want here 
} 

Например, если вы хотите сохранить ваши текущие координаты вы можете сделать:

Признаться в .h :

float latitude; 
float longitude; 

Затем выполнить метод делегата (писать это в .m):

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations 
{ 
    latitude = [manager location].coordinate.latitude; 
    longitude = [manager location].coordinate.longitude; 
} 

Теперь вы можете хранить свои значения в NSString как ответ на @amar.

Я отредактировал этот ответ как 6 раз, поэтому надеюсь, что это ответит на ваш вопрос и поможет вам: D.

0

Все, что вам нужно, это [NSString stringWithFormat:@"%f",<your float>];

+0

Отредактированный вопрос, чтобы включить более подробную информацию о проблеме – dojogeorge

+1

... все, что вам нужно, это '[NSString stringWithFormat: @"% f ", ];', все, что вам нужно, это '[NSString stringWithFormat: @"% f ", ]; ',' [NSString stringWithFormat: @ "% f", ]; ',' [NSString stringWithFormat: @ "% f", ]; '[все, что вам нужно.] (Https: // www. youtube.com/watch?v = zLGWyfGk_LU) – Shoe

+0

shuld видел перед редактированием версию до троллинга .. – amar

Смежные вопросы