来自MPMapView的奇怪行为

时间:2014-08-22 02:33:05

标签: ios objective-c mkmapview

我的应用中有一个getLocation按钮,用于获取用户的当前位置,该按钮调用以下方法:

-(void)setOriginalRegion {
    float spanX = 0.217;
    float spanY = 0.217;
    MKCoordinateRegion region;
    region.center.latitude = self.mapView.userLocation.coordinate.latitude;
    region.center.longitude = self.mapView.userLocation.coordinate.longitude;
    region.span.latitudeDelta = spanX;
    region.span.longitudeDelta = spanY;
    [self.mapView setRegion:region animated:YES];
}

这很好用,当点击时,我得到我的位置和15英里半径(由三角洲设定)...

为了确保我的地图在当前用户的位置加载,我在viewWillAppear方法中添加了以下内容:

[self setOriginalRegion];

但是这是在海洋中间的某个地方开始的地图(离加纳海岸约100英里......这当然不是默认的,因为默认它会加载到北美。我是什么人在这里做错了吗?

1 个答案:

答案 0 :(得分:1)

正如@AndreMunis指出的那样,viewWillAppear过早地知道用户的位置,将方法调用移到viewDidAppear并且代码就像魅力一样!