【发布时间】:2011-06-01 15:06:49
【问题描述】:
我需要在不显示地图的情况下从 iphone 获取当前的纬度/经度。
这可以实现吗??
请目标 C。
谢谢 托尼
【问题讨论】:
标签: objective-c
我需要在不显示地图的情况下从 iphone 获取当前的纬度/经度。
这可以实现吗??
请目标 C。
谢谢 托尼
【问题讨论】:
标签: objective-c
看看CLLocationManager。您可以简单地创建一个实例,将您的控制器设置为委托,启动实例以获取您的位置,并在您的 CLLocationManagerDelegate 委托方法中处理结果,您可以访问坐标。不需要地图。
【讨论】:
applicationDidFinishLaunching: 中,您可以致电[self startUpdates]。您必须填写locationManager:didUpdateToLocation:fromLocation 的详细信息,但实际上您要查找的信息在该委托方法的newLocation 参数中。
- (void)startUpdates {
coreManager = [[CLLocationManager alloc] init];
coreManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
coreManager.delegate = self;
[coreManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
// newLocation is location from gps...
// you'll need to stop coreManager updating when you have a good fix
}
详情请参阅Apple docs。
【讨论】:
CLLocationManager 是获取当前纬度/经度必须使用的接口
下面是代码:
locationManager = [[CLLocationManager alloc] init];
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.distanceFilter = DISTANCE_FILTER_VALUE;
locationManager.delegate = self;
[locationManager startUpdatingLocation];
【讨论】:
只需使用CLLocationManager 即可。
【讨论】: