我想在 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/