MKMapView:setRegion不起作用! [英] MKMapView : setRegion doesn't work !

查看:109
本文介绍了MKMapView:setRegion不起作用!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Aaaarg ......好吧,让我们冷静下来。

Aaaarg... ok, let's calm myself.

有人设置MKMapView的区域有什么问题吗?
它从未与我合作。

Did someone have any problem with setting the region of a MKMapView ? It never worked with me.

此代码:

-(void)setUserCenteredSpan:(MKCoordinateSpan)span{ // for this example, span = {0.5, 0.5}
    // Current region (just initialised)
NSLog(@"%f, %f - %f, %f",   self.region.center.latitude,
                            self.region.center.longitude, 
                            self.region.span.latitudeDelta, 
                            self.region.span.longitudeDelta);
    // New Region
MKCoordinateRegion region = MKCoordinateRegionMake([[[self userLocation] location] coordinate],
                                                   span);
NSLog(@"%f, %f - %f, %f",   region.center.latitude,
                            region.center.longitude, 
                            region.span.latitudeDelta, 
                            region.span.longitudeDelta);
    // Region saved in MKMapView
[self setRegion:region animated:NO];
NSLog(@"%f, %f - %f, %f",   self.region.center.latitude,
                            self.region.center.longitude, 
                            self.region.span.latitudeDelta, 
                            self.region.span.longitudeDelta);
}

返回该日志:

30.145127, -40.078125 - 0.000000, 0.000000
0.000000, 0.000000 - 0.500000, 0.500000
0.000000, 0.000000 - 0.000000, 0.000000

你知道为什么??!

非常感谢,你可以保存我杀了自己X(

Thanks a lot, you can save me from killing myself X(

Mart

编辑:当然,我在设备上,连接到互联网。

EDIT : Of course, I am on the device, connected to internet.

推荐答案

我完全不了解以前的日志,但我知道我的错误在哪里。

I don't understand exactly the previous logs, but I know where was my error.

实例化的MKMapView没有用框初始化,但autoresizingMask设置为> 0.

The instancied MKMapView was not initialised with a frame, but with an autoresizingMask set to > 0.

调用setRegion方法时,我的视图还没有框架。我认为区域值是根据视图帧计算的,所以找不到这些值。

When the setRegion method was called, my view was not framed yet. I think the region values are calculated according to the view frame, so these values couldn't be found.

只需设置之前的帧做一个setRegion,它会正常显示。

Just set the frame before doing a setRegion, and it would display normally.

B你好!

这篇关于MKMapView:setRegion不起作用!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆