首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么MKCoordinateSpan会改变?

为什么MKCoordinateSpan会改变?
EN

Stack Overflow用户
提问于 2010-03-29 18:43:21
回答 2查看 2.1K关注 0票数 0

当我调试下面的代码时,我发现mapkit更改了我提供的跨度。span2包含的数字与提供的数字不同。为什么会发生这种情况?

代码语言:javascript
复制
- (void) viewDidLoad
{
    [super viewDidLoad];

    CLLocationCoordinate2D loc;
    loc.latitude = self.atm.lat;
    loc.longitude = self.atm.lon;

    MKCoordinateSpan span1 = MKCoordinateSpanMake(0.05f, 0.05f);
    self.mapView.region = MKCoordinateRegionMake(loc, span1);
    // at this point numbers are not 0.05 anymore
    MKCoordinateSpan span2 = self.mapView.region.span;
// ... more code
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-29 18:55:48

请注意,纬度和经度的变化是不同的,因此square MapView实际上将显示具有不同跨度值的区域。这可能会导致您的mapview区域具有跨度(稍微?)与您设置的不同。

在引用MKMapView的region属性时,有一些相关的短语:

仅更改区域的中心坐标仍会导致范围隐式更改。这是因为跨度代表的距离在不同的纬度和经度发生变化,地图视图可能需要调整跨度以适应新的位置。

票数 1
EN

Stack Overflow用户

发布于 2010-03-31 18:44:29

具有相同纬度和经度跨度值的正方形MapView几乎总是会经历上述跨度的变化,因为当您从赤道移动到两极时,纵向弧长会发生显着变化。当纬度接近+/-90时,纵向弧长接近0。

但是,如果MapView区域不是正方形,则相同的跨度值也会发生变化(因为跨度仅指当时实际可见的区域)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2537263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档