美文网首页
地图定位时崩溃在iOS10上

地图定位时崩溃在iOS10上

作者: 冰宫无凉 | 来源:发表于2018-03-26 11:36 被阅读45次

    做地图定位的时候,使用一下代码

    // 经纬度

    CLLocationDegrees latitude = [storeDict[@"lat"] doubleValue];

    CLLocationDegrees longitude = [storeDict[@"lon"] doubleValue];

    CLLocationCoordinate2D centerCoord = (CLLocationCoordinate2D){latitude, longitude};

    MKCoordinateSpan span;

    span.latitudeDelta=0.01;

    span.longitudeDelta=0.01;

    MKCoordinateRegion region={centerCoord,span};

    [self.mapView setRegion:region animated:true];

    报错信息:

    Exception : 'Invalid Region' when trying to display the map

    错误问题解释:

    Invalid Region 的意思是无效的区域.使用的经纬度超出了规定的经纬度范围.跑出的错误.

    扫盲一下地理知识(我也是百度的...)

    经度0°——180°(东行,标注E)0°——180°(西行,标注W)

    纬度0°——90°N、0°——90°S

    也就是说纬度的范围 -90 <= latitude <= 90  经度的范围是 -180 <= longitude <= 180

    找到错误原因:后台把经纬度写反了...本来纬度应该是31.190606错写成经度121.443078.

    解决办法:

    加上判断

      if ((region.center.latitude >= -90) && (region.center.latitude <= 90) && (region.center.longitude >= -180) && (region.center.longitude <= 180))

    {

    [self.mapView setRegion:region animated:true];

    }

    else

    {

    NSLog(@"invilid region");

    }

    相关文章

      网友评论

          本文标题:地图定位时崩溃在iOS10上

          本文链接:https://www.haomeiwen.com/subject/shmbmttx.html