Как сохранить текущий MKCoordinateRegion или уровень масштабирования? - PullRequest
3 голосов
/ 30 мая 2011

У меня есть приложение, которое предоставляет масштабируемый 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 Ответ

2 голосов
/ 03 июня 2011

В отличие от API JavaScript Google Maps, MKMapView не имеет легкодоступного свойства «уровень масштабирования» (оно на самом деле не нужно для ваших целей).

Работа со значениями центра и диапазона в свойстве региона.

Этот вопрос дает пример того, как сохранить / загрузить регион в NSUserDefaults.

...