我试图在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 of 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];
}
但是我在埃及找到了错误的位置我在美国给了我这个 任何人都能帮我???
答案 0 :(得分:1)
以防万一:如果您使用模拟器,位置将不是您的真实位置。您必须在模拟器中设置您的位置: 调试 - >位置 - >自定义位置(或其他任何内容)
答案 1 :(得分:1)
首先。
你没用过
[locationManager startUpdatingLocation];
请在启动位置管理器变量后添加此行。如果您在模拟器中看到美国的这个位置,也请告诉我。
如果是:您的模拟器模拟用户首选项给出的位置。进入模拟器窗口,您可以根据自己的选择显示自定义位置。默认情况下,它被选为美国。
希望它能解决你的问题。