1

How do can I add 2 miles to viewRegion.span.latitudeDelta ? How do can I calculate kTwoMiles?

MKCoordinateRegion viewRegion;
viewRegion.center = coordinateCentre;
viewRegion.span.latitudeDelta = latitudeMax - latitudeMin + kTwoMiles;  
viewRegion.span.longitudeDelta = longitudeMax - longitudeMin + kTwoMiles;

MKCoordinateRegion adjustedRegion = [mapView regionThatFits:viewRegion];
[mapView setRegion:adjustedRegion animated:YES];
Jesse Naugher
  • 9,780
  • 1
  • 41
  • 56
Voloda2
  • 12,359
  • 18
  • 80
  • 130
  • I liked this solution since it's very straight forward: http://stackoverflow.com/a/13611163/149231 – motto Feb 22 '14 at 23:05

2 Answers2

0

Basically this is relatively complicated because every degree has a different delta.
At Earth's equator you will have 111 km per degree and at the poles 0 km. (http://en.wikipedia.org/wiki/Longitude#Degree_length)

0

I decided to add 2 miles only in the latitudeDelta. Probably regionThatFits will resize longitudeDelta.

double kTwoMiles = (double)2/69; 
MKCoordinateRegion viewRegion;
viewRegion.center = coordinateCentre;
viewRegion.span.latitudeDelta = latitudeMax - latitudeMin + kTwoMiles;  
viewRegion.span.longitudeDelta = longitudeMax - longitudeMin;

MKCoordinateRegion adjustedRegion = [mapView regionThatFits:viewRegion];
[mapView setRegion:adjustedRegion animated:YES];`enter code here`
motto
  • 1,305
  • 3
  • 16
  • 30
Voloda2
  • 12,359
  • 18
  • 80
  • 130