У меня есть вопрос относительно настройки области на моем MKMapView.MKMapView Region
Мне нужно установить отображение карты для отображения определенной области, когда мой просмотр сначала загружается.
на северо-востоке и юго-западе широты и долготу этой области:
North East Coordinate Lat:59.623724 Long:2.911587
South West Coordinate Lat:49.004833 Long:-11.361825
В дополнении к этому, я хотел бы «замок» в MapView этой области. В идеале блокировка будет прозрачной, т. Е. Указанные выше координаты представляют максимальную степень MKMapView. Однако, если это просто случай проверки на северо-востоке и юго-координаты в
- (void)mapView:(MKMapView *)aMapView regionDidChangeAnimated:(BOOL)animated
и сбросить вид, если они превышают мой максимальный диапазон, который был бы приемлем для меня также.
Большое спасибо за любые указания по этому вопросу.
EDIT: Что касается первой части моего вопроса, я понял, что я могу установить начальную область на MKMapView, используя следующий код:
CLLocationCoordinate2D neCoord;
neCoord.latitude = 59.787643;
neCoord.longitude = 3.025857;
CLLocationCoordinate2D swCoord;
swCoord.latitude = 49.394171;
swCoord.longitude = -11.036642;
MKCoordinateRegion region;
region.center.latitude = neCoord.latitude - (neCoord.latitude - swCoord.latitude) * 0.5;
region.center.longitude = neCoord.longitude + (swCoord.longitude - neCoord.longitude) * 0.5;
region.span.latitudeDelta = fabs(neCoord.latitude - swCoord.latitude); // Add a little extra space on the sides
region.span.longitudeDelta = fabs(swCoord.longitude - neCoord.longitude); // Add a little extra space on the sides
region = [self.mapView regionThatFits:region];
[self.mapView setRegion:region animated:YES];
Возможно, я не был чист, я не хочу отключать масштабирование или прокрутку, мне нужна эта функциональность, но только в области, указанной моей ограничивающей рамкой. –