Возвращение пользователя в виде строки iPhone - PullRequest
1 голос
/ 03 мая 2010

Есть ли способ вернуть местоположение пользователя в виде строки из модели?

У меня есть модель, задача которой - загружать те же данные JSON из веб-службы. При отправке запроса мне нужно добавить? Lat = LAT_HERE & lng = LNG_HERE в конец строки.

Я видел множество примеров использования карты или постоянного обновления метки. Но я не могу узнать, как явно вернуть значения lat и lng.

Я только 2 дня в iPhone Dev, так что будь осторожен со мной :)

Ответы [ 2 ]

2 голосов
/ 03 мая 2010

Вам необходимо использовать базовое местоположение, в частности CLLocationManager . Apple не предоставляет никакого руководства по программированию на CL, поэтому просто посмотрите на один из примеров, например LocateMe , чтобы узнать, как это сделать.

1 голос
/ 03 июня 2010

Вам нужно использовать CLLocationManager следующим образом:

- (void)viewDidLoad 
    {  
        // this creates the CCLocationManager that will find your current location
        CLLocationManager *locationManager = [[[CLLocationManager alloc] init] autorelease];
        locationManager.delegate = self;
        locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
        [locationManager startUpdatingLocation];
    }

    // this delegate is called when the app successfully finds your current location
    - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation 
    {
        // retrieve lat and lng in a string from newLocation.coordinate
    NSString *lat = [NSString stringWithFormat:@"%d", newLocation.coordinate.latitude];
    NSString *lng = [NSString stringWithFormat:@"%d", newLocation.coordinate.longitude];
    }

    // this delegate method is called if an error occurs in locating your current location
    - (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error 
    {
     NSLog(@"locationManager:%@ didFailWithError:%@", manager, error);
    }
...