1

我希望我的 mapView 以初始大小(我确定的缩放级别)显示,手机位置在地图中居中。完成此操作后,我希望用户能够更改缩放级别并平移到他们心中的内容。下次他们进入应用程序时,我想像上次一样重新初始化地图。

问题是当我进来时,它似乎在获得有效的位置修复之前设置了地图大小。

任何人都可以指出一个最佳实践初始化的例子吗?

4

1 回答 1

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.

于 2013-03-09T00:23:26.090 回答