当我显示我的地图时,我希望在中心显示用户的位置,并且跨度约为。用户周围 5k 距离。我的代码如下:
- (void)viewDidLoad
{
[super viewDidLoad];
mapView.mapType = MKMapTypeStandard;
mapView.showsUserLocation = YES;
MKUserLocation *userLocation = mapView.userLocation;
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(
userLocation.location.coordinate, 5000, 5000);
[mapView setRegion:region animated:NO];
}
结果是,在调用setRegion
地图后,现在显示为一个无法滚动或缩放的空蓝框。我想了一会儿它可能会显示海洋,但情况似乎并非如此,因为地图本身不会滚动。我尝试将距离设置为从 50m 到 25000m 的所有距离,效果相同。如果我不打电话setRegion
,那么缩小的世界地图会很好地显示,用户位置会按预期突出显示。
在浏览了一些相关问题后,我还尝试插入以下行:
MKCoordinateRegion adjustedRegion = [mapView regionThatFits:region];
并替换 setRegion 消息如下:
[mapView setRegion:adjustedRegion animated:NO];
但这只是给我同样的结果。
我究竟做错了什么?