缩放地图时,iOS6中的MapView会崩溃

时间:2012-11-10 05:20:06

标签: iphone ios6 mkmapview mapkit cllocation

我正试图将地图跨越到两个坐标的中心。它在以前版本的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];

1 个答案:

答案 0 :(得分:2)

错误消息告诉您问题:您指定的坐标包含 nan (“非数字”)而不是常规数字。

如果您记录坐标,您应该能够找到具体信息。特别是,我会关注savedCoordinate.latitudesavedCoordinate.longitude。也许您在用户默认值而不是数字中存储字符串?如果用户默认值中不存在该键,则这些键应为0而不是nan。

另见: