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

标签 ios mapkit ios7

我想在 map View 处于 MKUserTrackingModeFollowWithHeading 模式时缩小以包括最近的注释。

我试过这样设置区域:

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

这会将 map 缩小 4 倍,但在启用用户跟踪的情况下,iOS 会通过动画自动缩放回原始缩放级别。我无法坚持任何地区。我假设 MapRect 会有相同的行为,但我还没有尝试过。

有人知道另一种方法吗?

根据 setUserTrackingMode 的文档:

If the map is zoomed out, the map view automatically zooms in on the user’s location, effectively changing the current visible region.

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

最佳答案

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

关于ios - 使用 MKUserTrackingModeFollowWithHeading 以编程方式更改缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18945843/

相关文章:

ios - 在 UITextView 上隐藏 "Selection Preview"插入符

Swift 注释位置更新

ios - 适用: 'OBJC_CLASS_$_MKMapView' 和 'OBJC_CLASS_$_MKPinAnnotationView' 的编译失败

ios - 将 MKOverlayPathRenderer 作为覆盖添加到 MKMapView 会出现异常

ios - iOS 部署目标在真实设备上的神秘问题

ios - 在plist中删除数据时显示alertview

iphone - 将 PDF 文件插入核心数据?

ios - 如何以编程方式添加 UITabBarItem?

ios - 打开 GL ES 1 和 iOS 5 引用

uitableview - 如何在 iOS 7 中的 UITableView 部分标题中支持用户选择的字体大小