我希望我的mapView以初始大小(我确定的缩放级别)显示,手机位置在地图中居中。完成此操作后,我希望用户能够更改缩放级别并平移其内容。下次他们进入应用程序时我想重新初始化地图,与前一次相同。
问题是当我进来时似乎在获得有效的位置修复之前设置地图大小。
有人能指出一个做最佳实践初始化的例子吗?
答案 0 :(得分:0)
我以下一个方式解决了这个问题。我认为代码是自我解释的
- (void)mapView:(MKMapView *)mapView
didUpdateUserLocation:(MKUserLocation *)userLocation
{
if (!_userLocated &&
userLocation.coordinate.latitude != 0.0 &&
userLocation.coordinate.longitude != 0.0)
{
MKCoordinateRegion mapRegion;
mapRegion.center = mapView.userLocation.coordinate;
mapRegion.span = MKCoordinateSpanMake(0.04, 0.04);
[mapView setRegion:mapRegion animated: YES];
_userLocated = YES;
}
}
并且不要忘记设置UIMapView
委托和Shows user location
。