1

我试图在 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];
}

但是我在埃及的位置弄错了,这给了我在美国的我,任何人都可以帮助我吗???

4

2 回答 2

1

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

于 2012-10-22T12:13:54.430 回答
1

首先。

你没用过

[locationManager startUpdatingLocation];

请在启动位置管理器变量后添加此行。如果您在模拟器中看到这个位置美国,也请告诉我。

如果是:您的模拟器模拟用户偏好给出的位置。进入模拟器窗口,您将获得根据您的选择显示自定义位置的选项。默认情况下,它被选为美国。

希望它能解决你的问题。

于 2012-10-22T12:14:10.330 回答