Как сохранить текущий MKCoordinateRegion или уровень масштабирования?
У меня есть приложение, которое предоставляет масштабируемый MKMapView для пользователя. Я хочу иметь возможность сохранять предпочтительные для пользователя координаты и уровень масштабирования для первого отображения карты.
В настоящее время в viewDidLoad я предоставляю набор координат по умолчанию и уровень масштабирования для начального представления карты:
zoomLocation.latitude = 55.50;
zoomLocation.longitude = -5.50;
// specify size of region to display
MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(zoomLocation, 340.0*METERS_PER_MILE, 340.0*METERS_PER_MILE);
// auto adjust region to fit screen
MKCoordinateRegion adjustedRegion = [mapView regionThatFits:viewRegion];
// display the new region
[mapView setRegion:adjustedRegion animated:YES];
То, что я пытаюсь сделать, - это когда пользователь прокручивает и масштабирует карту до своего предпочтительного вида по умолчанию, он может нажать кнопку "Установить по умолчанию" и сохранить требуемые свойства, которые будут реализованы в будущем при загрузке представления.
Чтобы сохранить координаты выбранного пользователем представления, у меня есть это:
// gets coordinates of currently viewed map image
CGPoint pointCentrePoint = CGPointMake(mapView.frame.size.width/2, mapView.frame.size.height/2);
centrePoint = [mapView convertPoint:pointCentrePoint toCoordinateFromView:mapView];
NSLog(@"LAT: %f LON: %f", centrePoint.latitude, centrePoint.longitude);
Я борюсь с тем, как сохранить выбранный пользователем MKCoordinateRegion или уровень масштабирования. Есть ли способ получить доступ к этому свойству для текущего представления, чтобы его можно было использовать в будущем при загрузке представления?
1 ответ
В отличие от API JavaScript Google Maps, MKMapView не имеет легкодоступного свойства "уровень масштабирования" (оно на самом деле не нужно для ваших целей).
Работа со значениями центра и диапазона в свойстве региона.
Этот вопрос дает пример того, как сохранить / загрузить регион в NSUserDefaults.