使用MKUserTrackingModeFollowWithHeading以编程方式更改缩放

时间:2013-09-22 16:05:33

标签: ios mapkit ios7

我希望在地图视图处于MKUserTrackingModeFollowWithHeading模式时缩小以包含最近的注释。

我试图像这样设置区域:

MKCoordinateRegion currentRegion = self.mapView.region;
currentRegion.span.latitudeDelta *= 4;
currentRegion.span.longitudeDelta *= 4;
[self.mapView setRegion:currentRegion];

这会将地图缩小4倍,但启用了用户跟踪功能后,iOS会自动使用动画缩放回原始缩放级别。我不能让任何地区坚持下去。我假设MapRect会有相同的行为,但我还没有尝试过。

有没有人知道另一种方法呢?

根据setUserTrackingMode的文档:

  

如果地图缩小,地图视图会自动放大用户的位置,有效地改变当前的可见区域。

所以我意识到这可能是不可能的。但是,用户可以缩小以缩小,并且用户跟踪模式保持启用状态而不会放大。非常感谢任何创意。

1 个答案:

答案 0 :(得分:1)

使用内置跟踪模式时无法控制缩放行为。您可能希望查看类似于MapBox iOS SDK的内容,其外观和行为与MapKit相同,但允许您自定义此行为。