Как установить уровень масштабирования 15 в MapKit с помощью iPhone SDK - PullRequest
1 голос
/ 21 сентября 2010

Я реализую приложение на основе MapKit.В этом мне нужно установить уровень масштабирования как 15. На основании этого мне нужно изменить регион.Я попытался с помощью следующего кода, но он не работает, как ожидалось.Когда я использовал возвращенный регион и установил Mapview, он получает исключение, подобное «NSInvalidArgumentException», причина: «Недопустимый регион». Можете ли вы, ребята, предложить идеальный способ решения этой проблемы?

-(MKCoordinateRegion)getRegoinBasedOntheZoomLevel:(int)zoom

{

MKCoordinateRegion region;
MKCoordinateSpan span;  

if (coords1.latitude != 0 && coords1.longitude !=0) 
{
    region.center = coords1;
}
else 
{
    region.center=mainMapView.region.center;
}
span.latitudeDelta=mainMapView.region.span.latitudeDelta *2*zoom;
span.longitudeDelta=mainMapView.region.span.longitudeDelta *2*zoom;
region.span=span;
return region;

}

Заранее спасибо.Сехар Беталам.

1 Ответ

2 голосов
/ 22 сентября 2010

Sekhar, я не совсем уверен, что ваш код пытается достичь - он умножает (неуказанный) диапазон на 2 * zoom: я уверен, что он не будет делать то, что вы говорите. «зум» обычно определяется как число n от 0 до N, где 2 ^ n - количество фрагментов карты вокруг Земли.

Вместо того, чтобы пытаться объяснить теорию, см. в этом посте Я нашел (путем поиска на этом форуме), который дает отличный обзор, включая гиперссылки на превосходное описание теории и практики проекций Меркатора, карта плитки и даже фактический код MKMapView, который вам нужен .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...