0

I try write programmatically zoom based on setRegion method

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)
}

I find two problems with it.

First problem

  • when map is rotated, setRegion return map to north

I resolve it via camera.altitude method

Second problem

  • when mapView userTrackingMode property is follow and I programmatically zoom it after some seconds map returns its zooming state in default follow zooming. Approach "disable userTrackingMode -> zoom -> enable userTrackingMode" does not help.

When I zoom map via UI gesture userTrackingMode.follow works normally. Is it iOS MKMapView bug?

Tested in iOS 10.

Community
  • 1
  • 1
Evgeny Karev
  • 605
  • 6
  • 13

0 Answers0