将地图的默认位置设置为从-iOS开始

将地图的默认位置设置为从-iOS开始,ios,objective-c,map,Ios,Objective C,Map,如何设置地图的默认起始位置?如果我想以爱尔兰为例,我会怎么做?它当前默认为北美周围,但我希望它默认为某个坐标。使用setRegion:animated设置MKMapView的初始区域: -(void)viewDidLoad { [super viewDidLoad]; self.mapView.delegate = self; double delayInSeconds = 0.5; dispatch_time_t popTime = dispatch_time(DISPATCH_TIME

如何设置地图的默认起始位置?如果我想以爱尔兰为例,我会怎么做?它当前默认为北美周围,但我希望它默认为某个坐标。

使用
setRegion:animated
设置
MKMapView
的初始区域:

-(void)viewDidLoad {

[super viewDidLoad];

self.mapView.delegate = self;

double delayInSeconds = 0.5;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
    MKCoordinateRegion region = { {0.0, 0.0 }, { 0.0, 0.0 } };
    region.center.latitude = 45.442424;
    region.center.longitude = -122.78;
    region.span.latitudeDelta =  0.60;
    region.span.longitudeDelta =  0.60;
    [mapView setRegion:region animated:YES];
});
}

以下代码将位置设置为SFO。根据需要更改坐标以设置所需位置

MKCoordinateRegion region = [mapView regionThatFits:MKCoordinateRegionMakeWithDistance(CLLocationCoordinate2DMake(37.78275123, -122.40345442), 200, 200)];
[mapView setRegion:region animated:YES];
如果您正在查找用户的当前位置,请使用以下代码

MKCoordinateRegion region = [mapView regionThatFits:MKCoordinateRegionMakeWithDistance(mapView.userLocation.coordinate, 200, 200)];
[mapView setRegion:region animated:YES];

请参阅位于的MKMapView类的setRegion:animated:方法。第一个代码示例不正确。MKCoordinateRegionMakeWithDistance将CLLocationCoordinate2D作为第一个参数(不是MKMapPoint)。此外,
mapView.userCenterCoordinate.coordinate
无效(mapView没有此类属性,而声明为MKMapPoint的userCenterCoordinate没有坐标属性)。最后,在这里调用regionAtfits是不必要的,因为setRegion本身无论如何都会这样做。