Вопрос

Ааааааа...ладно, давай успокоимся.

У кого - нибудь были какие - либо проблемы с настройкой региона MKMapView ?Со мной это никогда не срабатывало.

Этот код :

-(void)setUserCenteredSpan:(MKCoordinateSpan)span{ // for this example, span = {0.5, 0.5}
    // Current region (just initialised)
NSLog(@"%f, %f - %f, %f",   self.region.center.latitude,
                            self.region.center.longitude, 
                            self.region.span.latitudeDelta, 
                            self.region.span.longitudeDelta);
    // New Region
MKCoordinateRegion region = MKCoordinateRegionMake([[[self userLocation] location] coordinate],
                                                   span);
NSLog(@"%f, %f - %f, %f",   region.center.latitude,
                            region.center.longitude, 
                            region.span.latitudeDelta, 
                            region.span.longitudeDelta);
    // Region saved in MKMapView
[self setRegion:region animated:NO];
NSLog(@"%f, %f - %f, %f",   self.region.center.latitude,
                            self.region.center.longitude, 
                            self.region.span.latitudeDelta, 
                            self.region.span.longitudeDelta);
}

Возвращает этот журнал :

30.145127, -40.078125 - 0.000000, 0.000000
0.000000, 0.000000 - 0.500000, 0.500000
0.000000, 0.000000 - 0.000000, 0.000000

Ты знаешь почему ??!

Большое спасибо, ты можешь спасти меня от самоубийства X(

Март

Редактировать :Конечно, я нахожусь на устройстве, подключенном к Интернету.

Это было полезно?

Решение

Я не совсем понимаю предыдущие журналы, но я знаю, где была моя ошибка.

Созданный экземпляр MKMapView был инициализирован не фреймом, а маской автоматического изменения, установленной на > 0.

Когда был вызван метод setRegion, мое представление еще не было оформлено.Я думаю, что значения региона вычисляются в соответствии с рамкой просмотра, поэтому эти значения не удалось найти.

Просто установите рамку перед выполнением setRegion, и она будет отображаться нормально.

Пока !

Другие советы

Ваш первый журнал использует self.region.center.latitude, но я не вижу этого нигде в вашем призыве к MKCoordinateRegionMake.Журнал сообщает вам, что все, что вы используете для настройки региона, имеет широту / длину 0/0...

Установка маски автоматического изменения размера помогла мне.

[_mapView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];   
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top