locationManager如何获取坐标?

Posted

技术标签:

【中文标题】locationManager如何获取坐标?【英文标题】:How does locationManager get coordinates? 【发布时间】:2014-06-12 18:54:03 【问题描述】:

我不明白 CLLocationManager 如何获取我当前的位置坐标?如果我不调用 [locationManager startUpdatingLocation] 并且不在 locationManager.location.coordinate 中设置参数。

ViewController.h

@interface ViewController : UIViewController <MKMapViewDelegate, CLLocationManagerDelegate>

CLLocationManager *locationManager;

@property (weak, nonatomic) IBOutlet MKMapView* mapView;
@end

ViewController.m

- (void)viewDidLoad

[super viewDidLoad];

self.mapView.delegate = self;

[self.mapView setShowsUserLocation:YES];

locationManager = [[CLLocationManager alloc] init];

[locationManager setDelegate:self];

[locationManager setDistanceFilter:kCLDistanceFilterNone];
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];



-(void) mapView:(MKMapView *) mv didAddAnnotationViews:(NSArray *)views 
MKCoordinateRegion region;
region = MKCoordinateRegionMakeWithDistance(locationManager.location.coordinate, 1000, 1000);

[mv setRegion:region animated:YES];

【问题讨论】:

不清楚你的问题是什么。我建议您对其进行编辑,以包含一个明确说明的问题,该问题将产生一个简洁的答案。 它可能是之前执行的缓存值。查看 locationManager.location.timestamp。它甚至可能是由于将地图视图的 showUserLocation 设置为 YES 造成的。此外,如果您使用地图视图显示用户位置,则不需要 CLLocationManager。 【参考方案1】:

由于以下行,它很可能是 MapView 请求当前位置更新后的缓存值: [self.mapView setShowsUserLocation:YES];

【讨论】:

以上是关于locationManager如何获取坐标?的主要内容,如果未能解决你的问题,请参考以下文章

Swift:试图获取坐标,但不知道如何调用 locationManager() 函数

无法通过 LocationManager.GPS_PROVIDER 获取 GPS 坐标

我如何知道LocationManager GPS检索的提供者?

如何在Android中获取经度和纬度

如何在android中获取移动设备的经纬度?

如何通过核心位置获取当前位置或 GPS 坐标?