2012-10-22 49 views
1

我试图表明我的当前位置在Mapkit这是代码CoreLocation,MapKit错误

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
    //Make this controller the delegate for the map view. 
    self.MapView.delegate = self;  

    // Ensure that you can view your own location in the map view. 
    [self.MapView setShowsUserLocation:YES]; 
    locationManager = [[CLLocationManager alloc] init]; 
    [locationManager setDelegate:self]; 
    [locationManager setDistanceFilter:kCLDistanceFilterNone]; 
    [locationManager setDesiredAccuracy:kCLLocationAccuracyBest]; 
} 

,我写了这个委托的Mapkit

#pragma mark - MKMapViewDelegate methods. 
- (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views {  
    MKCoordinateRegion region; 
    region = MKCoordinateRegionMakeWithDistance(locationManager.location.coordinate,2000,2000); 


    [mv setRegion:region animated:YES]; 
} 

,但我得到错误的位置荫在埃及和这给美国Iam在美国 任何一个可以帮我ME?

回答

1

以防万一:如果您使用模拟器,该位置将不会是您的真实位置。您必须在模拟器中设置您的位置: 调试 - >位置 - >自定义位置(或其他任何地方)

+0

如何将它设置到埃及? – user1752619

+0

你必须输入你的位置的经度和纬度。所以,启动模拟器,去调试 - >位置 - >自定义位置,并将其设置为30.2,31.5 – Nicholas

+0

BIG谢谢尼古拉斯:) 我做这个,它显示我在地图上埃及但不是当前位置 – user1752619

1

首先。

你没有使用

[locationManager startUpdatingLocation]; 

你发起位置管理器变量后,请加入这一行。如果您在模拟器中看到这个位置,请让我知道。

如果是:您的模拟器模拟用户首选项给出的位置。进入模拟器窗口,在那里你可以选择按照你的选择显示自定义位置。默认情况下它被选为美国。

希望它能解决您的问题。

+0

我无法找到用户偏好? 我可以在哪里罚款? – user1752619

+0

当您运行项目时,在调试窗口顶部有一个箭头键类型按钮,您也可以将它用于自定义位置。 iPhone模拟器中也有选项,调试>位置选项。 – iCreative