通过setRegion以编程方式缩放的iOS MKMapView在跟随UserTrackingMode并旋转地图时出现错误

时间:2017-05-17 13:05:22

标签: 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.span = span
    mapView.setRegion(region, animated: true)
}

我发现它有两个问题。

第一个问题

  • 旋转地图时,setRegion将地图返回北方

我通过camera.altitude method

解决此问题

第二个问题

  • 当mapView userTrackingMode属性为follow时,我会在几秒钟后以编程方式缩放它,地图会在默认follow缩放时返回其缩放状态。方法"禁用userTrackingMode - >缩放 - >启用userTrackingMode"没有帮助。

当我通过UI缩放地图时,手势userTrackingMode.follow正常工作。是iOS MKMapView的错误吗?

在iOS 10中测试。

0 个答案:

没有答案