mapkit地图视图幻灯片滑行并放大效果?

时间:2014-12-22 06:06:52

标签: ios mapkit core-location

我是mapkit的新手,正在尝试添加"滑动/滑动和缩放到类型转换效果"我经常在这些地图应用程序中看到MkMapView。

例如,我可能会通过触摸/捏合和缩放来查看,导航和缩放地图,然后点击"转到我的位置"例如,然后它会滑动/滑过,然后使用我设置的区域/视图大小缩小到我的位置,就像我猜你可以调用的过渡效果一样。 这是怎么做到的?有没有这样做的方法,还是你必须手动编程这个效果?

目前我会按"转到我的位置"按钮,它转到我当前的位置,大小是我想要的,但没有滑动/滑动/缩放过渡类型的效果。 任何帮助都会很棒

- (IBAction)zoomToCurrentLocation:(id)sender { 

    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.latitudeDelta = spanX;
    region.span.longitudeDelta = spanY;

    [self.mapView setRegion:region animated:YES];

}

1 个答案:

答案 0 :(得分:0)

动画序列如下:

在第一个动画块中, 滑动/滑动 会映射到您指定的位置(假设用户位置)。

然后在完成块中:

另一个动画 放大/缩小 到您的位置。根据需要更改适当的值。

- (void) showUserLocation {
    [UIView animateWithDuration:1.5 animations:^{

        [self.mapView setCenterCoordinate:self.mapView.userLocation.coordinate];

    } completion:^(BOOL finished) {
        [UIView animateWithDuration:1.5 animations:^{
            MKCoordinateSpan span;
            span.latitudeDelta  = 1;
            span.longitudeDelta = 1;

            MKCoordinateRegion region;
            region.span = span;
            region.center = self.mapView.userLocation.coordinate;
            [self.mapView setRegion:region animated:YES];
        }];
    }];
}