1

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

1 回答 1

2

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

如果你记录你的坐标片段,你应该能够找出细节。特别是,我会看savedCoordinate.latitudeand savedCoordinate.longitude。也许您在用户默认值中存储了一个字符串而不是一个数字?如果用户默认值中不存在密钥,则这些值应为 0 而不是 nan。

也可以看看:

于 2012-11-10T06:31:02.527 回答