2013-05-31 215 views
-2

我想收到的座標用戶當前的位置,我進入了這個代碼:用戶當前位置

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

在iOS模擬器,該代碼崩潰,我的設備是不是有時它崩潰了整個應用程序....你能幫助我發生什麼事嗎?

+0

你是什麼意思的「它是失敗」在模擬器上? 「你的整個應用程序失敗」是什麼意思?你能描述你遇到的崩潰/錯誤嗎? – Rob

+0

該模擬器不能提供整個gps expereince。它具有提供位置的基本功能。例如。在這裏:http://stackoverflow.com/questions/12641817/ios-simulator-and-gps –

+0

請更清楚一點不工作。你期待什麼,沒有發生什麼? – Daniel

回答

1

看起來也許你沒有實施CLLocationManagerDelegate方法。

特別是在之前iOS版本中的-locationManager:didUpdateLocations:(來自iOS 6)或-locationManager:didUpdateToLocation:fromLocation:

也許(你的問題再次模糊)你只想在地圖視圖上顯示藍點。在這種情況下,您無需處理核心位置管理器。查看this post瞭解更多信息。

+0

失敗這個詞意味着崩潰。我需要CLLLocationmanager來獲得我設計的獨特功能,而且它是Xcode。 Thks for your help –

+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);