MapView в iOS6 аварийно завершает работу при масштабировании карты

Я пытаюсь связать карту с центром двух координат. Он отлично работал на предыдущих версиях iOS, но теперь внезапно я получаю это сообщение об ошибке:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid Region <center:nan, nan span:nan, nan>' 

Любые идеи о том, что не так?

        CLLocationCoordinate2D savedCoordinate;
        savedCoordinate.latitude = [userDef doubleForKey:@"savedCoordinate-latitude"];
        savedCoordinate.longitude = [userDef doubleForKey:@"savedCoordinate-longitude"];

        savedPosition = savedCoordinate;

        CLLocationDistance visibleDistance = 100;
        MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(savedCoordinate, visibleDistance, visibleDistance);
        MKCoordinateRegion adjustedRegion = [mapView regionThatFits:region];
        [mapView setRegion:adjustedRegion animated:NO];

person Christoffer    schedule 10.11.2012    source источник


Ответы (1)


Сообщение об ошибке указывает на проблему: указанная вами координата содержит nan ("не число"), а не обычное число.

Если вы зарегистрируете свои координаты, вы сможете узнать подробности. В частности, я бы посмотрел на savedCoordinate.latitude и savedCoordinate.longitude. Возможно, вы сохраняете строку в пользовательских настройках по умолчанию вместо числа? Если ключ не существует в пользовательских настройках по умолчанию, это должно быть 0, а не nan.

Смотрите также:

person Steven Fisher    schedule 10.11.2012
comment
[userDef setDouble:location.latitude forKey:@savedCoordinate-latitude]; [userDef setDouble:location.longitude forKey:@savedCoordinate-longitude]; [userDef setBool:YES forKey:@savedCoordinate-exist]; , я должен хранить что-то еще вместо двойника? - person Christoffer; 10.11.2012
comment
Как выглядело savedCoordinate до того, как оно было передано в MKCoordinateRegionMakeWithDistance? - person Steven Fisher; 10.11.2012