ios - 来自 MPMapView 的奇怪行为

标签 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 英里的半径(由 delta 设置)...

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

[self setOriginalRegion];

但那是在大洋中部某处(距加纳海岸约 100 英里)开始绘制 map ……这当然不是默认设置,因为默认情况下它加载到北美。我是什么做错了吗?

最佳答案

正如@AndreMunis 所指出的,viewWillAppear 太早无法知道用户的位置,将我的方法调用移至 viewDidAppear 并且代码运行起来非常棒!

关于ios - 来自 MPMapView 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25438747/

相关文章:

ios - 在 Storyboard 中创建的 UIViewController 中动态调整 UITableView 的大小

ios - 无法在 MKMapView 中显示多个注释图钉

ios - Objective-C:强制一个类成为其他类的子类

ios - 如何在执行 segue 后删除 UIViewController?

objective-c - 消除 MKMapView 中的引脚重叠

ios - Swift - Obj-c 链接停止工作

ios - MKAnnotationView 正在失去对 MKAnnotation 的引用

ios - MKMapView 合法标签显示为 <unlocalized>

iOS 从您的应用程序启动 Safari 应用程序而不传递 url

ios - 以编程方式关闭 iOS 键盘的退格批量删除功能