gpt4 book ai didi

ios - MKMapView setRegion 不工作

转载 作者:可可西里 更新时间:2023-11-01 05:41:10 24 4
gpt4 key购买 nike

我正在尝试使用 MKMapView 的 setRegion 在 iOS 应用程序中设置自定义起始区域。该应用程序运行良好,并出现了一张 map ,但无论我尝试什么,我都无法更改区域。我尝试了很多教程和解决方案,但都没有用。这是我的代码:

-(void)viewDidAppear:(BOOL)animated{
MKCoordinateRegion region;
MKCoordinateSpan span;
span.latitudeDelta = 0.001;
span.longitudeDelta = 0.001;

region.span = span;
region.center.latitude = 100;
region.center.longitude = 100;

[mapView setRegion:(region) animated:(TRUE)];
}

我已将 MKMapView 和 Core Location 框架正确添加到项目中,我导入了 MapKit.h,并声明了 mapView,所以我不知道为什么它不起作用。

谢谢,

雅各布

最佳答案

听起来 map View 的 IBOutlet 没有连接到 xib/storyboard 中的 map View 控件。

如果未连接,mapView 变量将为nil,调用它的方法将不执行任何操作。

在 xib/storyboard 中,右键单击 View Controller 并将 mapView 导出连接到 map View 控件。



此外,虽然对于设置区域不是必需的,但也可以将 map View 的 delegate 导出连接到 View Controller 。如果您稍后实现任何 map View 委托(delegate)方法,这将是必需的。如果不这样做,委托(delegate)方法将不会被调用。


另一个单独的点:
在您的第一个代码示例中,您将区域的 center 设置为 100, 100。请注意,这是一个无效坐标。如果 map View 实际上已连接,将 center 设置为此会导致“无效区域”崩溃。纬度必须从 -90 到 +90(经度必须从 -180 到 +180)。

顺便说一句,您在评论 (26, 80) 中发布的代码中尝试的新坐标位于印度。由于您将跨度设置为相对较小的值,因此您需要缩小很多才能看到这一点。

关于ios - MKMapView setRegion 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22751404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com