如何在iphone中获取当前位置的纬度经度?
Posted
技术标签:
【中文标题】如何在iphone中获取当前位置的纬度经度?【英文标题】:How to get current location latitude longitude in iphone? 【发布时间】:2013-12-10 13:09:49 【问题描述】:我想获取我当前的位置 lat long 为此我已经编写了一些代码但我得到了错误的位置的 lat long 这是我的代码。
locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
[locationManager startUpdatingLocation];
float latitude = locationManager.location.coordinate.latitude;
float longitude = locationManager.location.coordinate.longitude;
【问题讨论】:
在模拟器上测试?检查模拟器位置 初始化 CLLocationManager 后无法立即获取位置。这是一个异步过程,可能需要一些时间。不过,您可以使用它的委托协议(正如某人已经建议的那样)。 如何查看模拟器位置? 在模拟器菜单Debug->Location更改位置 【参考方案1】:要获取当前位置,请编写以下代码:
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate=self;
locationManager.desiredAccuracy=kCLLocationAccuracyBest;
locationManager.distanceFilter=kCLDistanceFilterNone;
[locationManager startUpdatingLocation];
然后实现委托方法:
// CLLocationManagerDelegate
-(void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
// Handle location updates
-(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
// Handle error
【讨论】:
【参考方案2】:-
正确设置委托:
[locationManager setDelegate:self]
实现正确的委托方法locationManager:didUpdateLocations:
读出位置数组。数组中的最后一项是最近找到的位置。
【讨论】:
以上是关于如何在iphone中获取当前位置的纬度经度?的主要内容,如果未能解决你的问题,请参考以下文章