当UserTrackingMode为follow且地图旋转时,iOS MKMapView通过setRegion以编程方式进行缩放会出现错误

当UserTrackingMode为follow且地图旋转时,iOS MKMapView通过setRegion以编程方式进行缩放会出现错误,ios,swift,mkmapview,mapkit,Ios,Swift,Mkmapview,Mapkit,我尝试基于setRegion方法以编程方式编写缩放 func zoomMap(byFactor delta: Double) { var region: MKCoordinateRegion = self.mapView.region var span: MKCoordinateSpan = mapView.region.span span.latitudeDelta *= delta span.longitudeDelta *= delta region

我尝试基于setRegion方法以编程方式编写缩放

func zoomMap(byFactor delta: Double) {
    var region: MKCoordinateRegion = self.mapView.region
    var span: MKCoordinateSpan = mapView.region.span
    span.latitudeDelta *= delta
    span.longitudeDelta *= delta
    region.span = span
    mapView.setRegion(region, animated: true)
}
我发现它有两个问题

第一个问题

  • 当地图旋转时,
    setRegion
    将地图返回到北方
我通过
摄像机解析。高度

第二个问题

  • 当mapView
    userTrackingMode
    属性为
    follow
    并且我以编程方式在几秒钟后对其进行缩放时,map将以默认的
    follow
    缩放返回其缩放状态。“禁用用户跟踪模式->缩放->启用用户跟踪模式”的方法没有帮助
当我通过UI手势缩放地图时,
userTrackingMode.follow
工作正常。这是iOS MKMapView错误吗


在iOS 10中测试。

第二个:您是否尝试禁用userTrackingMode->zoom->enable userTrackingMode?@mcgtrt没有帮助