将MapKit区域按钮操作转换为方法

时间:2014-02-19 16:08:21

标签: ios iphone mapkit

提前道歉,这肯定是如此简单。

我希望我的地图可以缩放到用户位置周围的程序定义区域。我已经找到了大量的代码,通过按钮操作完成,但我需要在地图加载时自动完成。我会发布我在这里尝试的内容。可能遗漏了一些非常明显的事情。这些都可以作为按钮操作,所以我认为我的问题是我的方法代码(每个方法的第一行)。

方法1:使用MKCoordinateSpanMake

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
    float spanX = 0.00725;
    float spanY = 0.00725;
    MKCoordinateRegion region;
    region.center.latitude = self.mapView.userLocation.coordinate.latitude;
    region.center.longitude = self.mapView.userLocation.coordinate.longitude;
    region.span = MKCoordinateSpanMake(spanX, spanY);
    [self.mapView setRegion:region animated:YES];

}

方法2:使用MKCoordinateRegionMakeWithDistance

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
MKUserLocation *userLocation = _mapView.userLocation;
    MKCoordinateRegion region =
    MKCoordinateRegionMakeWithDistance (
                                        userLocation.location.coordinate, 3000, 3000);
    [_mapView setRegion:region animated:YES];
}

一如既往,非常感谢您的时间和建议。

1 个答案:

答案 0 :(得分:1)

转到viewDidLoad:

- (void)viewDidLoad
{
    MKUserLocation *userLocation = _mapView.userLocation;
    MKCoordinateRegion region =[_mapView regionThatFits:MKCoordinateRegionMakeWithDistance (userLocation.location.coordinate, 3000, 3000)];
    [_mapView setRegion:region animated:YES];
}

希望这会有所帮助。