gpt4 book ai didi

iPhone 当前用户位置坐标显示为 (0,0)

转载 作者:行者123 更新时间:2023-12-03 18:34:54 24 4
gpt4 key购买 nike

我正在尝试使用此 viewDidLoad 方法获取用户当前的纬度和经度。生成的 map 正确指示当前位置,但 NSLog 始终显示:

2009-09-19 16:45:29.765 Mapper[671:207] user latitude = 0.000000
2009-09-19 16:45:29.772 Mapper[671:207] user longitude = 0.000000

有人知道我在这里缺少什么吗?预先感谢您的帮助!

- (void)viewDidLoad {
[super viewDidLoad];
[mapView setMapType:MKMapTypeStandard];
[mapView setZoomEnabled:YES];
[mapView setScrollEnabled:YES];
[mapView setShowsUserLocation:YES];

CLLocation *userLoc = mapView.userLocation.location;
CLLocationCoordinate2D userCoordinate = userLoc.coordinate;

NSLog(@"user latitude = %f",userCoordinate.latitude);
NSLog(@"user longitude = %f",userCoordinate.longitude);
}

最佳答案

据我所知,在实际显示之前, map 不会尝试获取用户位置。一个很好的测试是,什么时候会出现对话框,询问应用程序是否可以获取用户位置?根据我的经验,这种情况总是在 map 显示在屏幕上之后才会出现。

如果您必须在启动时获得位置,解决此问题的最佳方法是实现经典的核心位置处理程序代码并从最初获取位置。一旦 map 启动,您就可以停止从那里接收更新,并从那里获得进一步的更改(尽管如果您需要持续更新,您最好只保留标准的核心位置更新。如果您考虑一下,当您“向用户显示”在 map 中启用“位置”后,您的应用程序对核心位置的进一步使用基本上是免费的,因为无论如何 GPS 都会一直启动。

关于iPhone 当前用户位置坐标显示为 (0,0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1449486/

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