MKMapView:setRegion不起作用! [英] MKMapView : setRegion doesn't work !
问题描述
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屋!