2013-05-31 2 views
-2

Я хочу получить в координатах пользователей текущее местоположение, и я вошел в этот код:Пользователь Current Location

-(void)update{ 
    locationManager = [[CLLocationManager alloc] init]; 
    locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move 
    locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
    locationManager.delegate = self; 
    mapView.showsUserLocation = YES; 
    [locationManager startUpdatingLocation]; 
} 

КСН Simulator, этот код происходит сбой и на моем устройстве не или иногда его разбивает всю приложение .... можете ли вы помочь мне в том, что происходит?

+0

Что вы подразумеваете под словом "it's failing" на симуляторе? И что вы подразумеваете под «неудачей всего приложения»? Можете ли вы описать аварии/ошибки, которые вы получаете? – Rob

+0

Симулятор не способен обеспечить весь опыт работы с GPS. Он имеет только базовые возможности обеспечения местоположения. Например. здесь: http://stackoverflow.com/questions/12641817/ios-simulator-and-gps –

+0

Пожалуйста, будьте немного понятны о том, что не работает. Что вы ожидаете и чего не происходит? – Daniel

ответ

1

Похоже, что вы не используете методы CLLocationManagerDelegate.

В частности, -locationManager:didUpdateLocations: (от iOS 6) или -locationManager:didUpdateToLocation:fromLocation: в предыдущих версиях iOS.

Возможно (опять ваш вопрос настолько расплывчатый), вы хотите показать только голубую точку на карте. В этом случае вам не нужно иметь дело с диспетчером определения местоположения. За дополнительной информацией обращайтесь к this post.

+0

термин failing означает сбой. Мне нужен CLLLocationmanager для уникальной функции, которую я создал, и да, это Xcode. Ths для вашей помощи –

+0

Так скажите мне, что ваша функция технически должна достичь. Никто не может помочь вам без дополнительной технической информации. – Daniel

1

В первую очередь вы не можете получить свое текущее местоположение в симуляторе. и попробуйте с этим кодом для получения координат текущего местоположения.

CLLocationManager *locationManager = [[CLLocationManager alloc] init]; 
    if ([CLLocationManager locationServicesEnabled]) 
    { 
     locationManager.delegate = self; 
     locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
     locationManager.distanceFilter = kCLDistanceFilterNone; 
     [locationManager startUpdatingLocation]; 
    } 

    location = [locationManager location]; 
    CLLocationCoordinate2D coordinate = [location coordinate];; 
    MKCoordinateRegion region; 
    region.center=coordinate; 
    MKCoordinateSpan span; 
    span.latitudeDelta=10.015; 
    span.longitudeDelta=10.015; 
    region.span=span; 
    [mapView setRegion:region]; 

    NSString *str=[[NSString alloc] initWithFormat:@" latitude:%f longitude:%f",coordinate.latitude,coordinate.longitude]; 
    NSLog(@"%@",str); 
Смежные вопросы