gpt4 book ai didi

iphone - ClLocationManager 委托(delegate)没有立即被调用?

转载 作者:行者123 更新时间:2023-11-29 04:26:23 25 4
gpt4 key购买 nike

我正在尝试使用 cllocationmanager 获取我的当前位置。

问题:

委托(delegate)方法

-(void) locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation

始终在viewdidappear之后运行。我在viewDidLoad中startupdatingLocation。并在 viewdidLoad 的末尾调用方法 SetMapView 。

-(void)setMapView{

MKCoordinateRegion zoomIn = plotsMapView.region;
zoomIn.span.latitudeDelta = 0.2;
zoomIn.span.longitudeDelta = 0.2;



zoomIn.center.latitude = self.currentLocation.coordinate.latitude;//[[[m_CityMarkerArray objectAtIndex:0] valueForKey:@"lat"] doubleValue];
zoomIn.center.longitude = self.currentLocation.coordinate.longitude;//[[[m_CityMarkerArray objectAtIndex:0] valueForKey:@"lng"] doubleValue];



NSLog(@"%f LAT",self.currentLocation.coordinate.latitude);

[plotsMapView setRegion:zoomIn animated:YES];



}

LAT 返回 0.0000。

但是如果我在 viewDidAppear 中调用相同的方法,它就可以正常工作。我在 viewDidLoad 中需要它,因为每次我返回 View 时。如果我调用 viewDidAppear 中的方法,我会将 map 重新​​加载到基本位置。

请帮忙!谢谢!

最佳答案

didUpdateToLocation 方法中调用您的 setMapView 方法,前提是您将位置管理器委托(delegate)设置为 self 并添加了 CLLocationManagerDelegate> 在你的 .h 文件中。在 didUpdateToLocation 中,在调用 setMapView 方法之前,将 newLocation 坐标分配给 currentLocation 坐标。

关于iphone - ClLocationManager 委托(delegate)没有立即被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12284379/

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