Я нашел себе решение, которое очень просто и делает свое дело. Используйте MKCoordinateRegionMakeWithDistance
, чтобы установить расстояние в метрах по вертикали и по горизонтали, чтобы получить желаемый масштаб. И затем, конечно, когда вы обновите свое местоположение, вы получите правильные координаты, или вы можете указать это непосредственно в CLLocationCoordinate2D
при запуске, если это то, что вам нужно сделать:
CLLocationCoordinate2D noLocation;
MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(noLocation, 500, 500);
MKCoordinateRegion adjustedRegion = [self.mapView regionThatFits:viewRegion];
[self.mapView setRegion:adjustedRegion animated:YES];
self.mapView.showsUserLocation = YES;
Swift:
let location = ...
let region = MKCoordinateRegionMakeWithDistance(location.coordinate, CLLocationDistance(exactly: 5000)!, CLLocationDistance(exactly: 5000)!)
mapView.setRegion(mapView.regionThatFits(region), animated: true)