MKMapViewпредотвращает масштабирование пользователя за пределы определенного диапазона - PullRequest
0 голосов
/ 02 марта 2012

У меня в приложении много аннотаций к контактам в моем приложении, iPhone становится очень медленным и не отвечает, когда многие из них отображаются на карте. Я бы хотел, чтобы пользователь мог масштабировать, но не превышать определенный уровень, например, 2 км в квадрате или что-то в этом роде.

Вот что у меня есть:

-(void)viewWillAppear:(BOOL)animated{

[super viewWillAppear:YES];

[[BicycleLDNService sharedService] requestLocationForClient:self];

CLLocationCoordinate2D zoomLocation;

CLLocation *deviceLocation = [[BicycleLDNService sharedService] deviceLocation];

zoomLocation.latitude = deviceLocation.coordinate.latitude;
zoomLocation.longitude = deviceLocation.coordinate.longitude;

MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(zoomLocation, 0.5*kMetresPerKilometre, 0.5*kMetresPerKilometre);

MKCoordinateRegion adjustedRegion = [self.mapView regionThatFits:viewRegion];                

[self.mapView setRegion:adjustedRegion animated:YES];

self.mapView.zoomEnabled = YES;

}

Могу ли я использовать какой-либо метод собственности или метод делегата? Не могу найти ничего полезного в Google или здесь!

Заранее спасибо!

1 Ответ

0 голосов
/ 02 марта 2012

Промежуток определяет, какая часть карты в данной точке должна быть видимой, а также то, как вы устанавливаете уровень масштабирования. Вы можете получить доступ к этому с помощью

region.span.latitute=0.5;
region.span.longitude=0.6;

Проверьте уровень масштабирования карты и затем установите zoomEnabled Свойство №.

mapView.zoomEnabled=NO; 
...