1

我的 iOS 应用程序中有一个地图,它不会将可见区域设置为我指定的位置。

- (void)mapView:(MKMapView *)aMapView didUpdateUserLocation:(MKUserLocation*)aUserLocation    
{
    MKCoordinateSpan span;
    span.latitudeDelta = .011932;
    span.longitudeDelta = 0.011242;
    MKCoordinateRegion region;
    region.center = self.mapView.userLocation.coordinate;
    region.span = span;
    [aMapView setRegion:region animated:YES];
}

那是我的代码,你会认为它会工作,它非常简单。但是,它将可见区域设置为比我想要的稍高但明显的区域。我打印了跨度增量值,mapView:regionDidChangeAnimated我得到的值是:

Span: 0.014576, 0.013733

这不是我设置的。

关于为什么的任何想法?最重要的是,我真的很想了解为什么会发生这种情况,以及它是使用 Apple Maps 的产物还是我做错了一些奇怪的事情。如果您不介意,请支持,以便其他遇到此问题的人可以得到解决。

4

2 回答 2

2

这一直是 MKMapView 的问题。设置区域不会设置您传递给它的确切区域。

于 2013-01-26T05:23:38.643 回答
2

由于您没有更改地图视图的形状,因此无论您给它多大的跨度,它都必须达到比例。例如,如果您告诉它您想查看比宽度高 100 倍的东西,它就不会以您的目标区域结束。此外,我认为它会捕捉到一组首选缩放级别,其中地图看起来更好。所以你的区域是完全可见的,如果需要,它周围可能会有填充。

于 2013-01-26T08:20:53.897 回答