如何从 CLLocation 变量中提取经度和纬度?
Posted
技术标签:
【中文标题】如何从 CLLocation 变量中提取经度和纬度?【英文标题】:How to extract the longitude and the latitude from a CLLocation variable? 【发布时间】:2013-11-14 19:13:04 【问题描述】:所以我有一个包含 10 个条目的数组。每个条目都有一个“CustomeObj”类型的对象。在每个对象中,我存储了一个 NSString 和一个 CLLocation var。 (类似于:“John”、“(23.33f, -32.44f))作为地图参考。
现在,我想访问 CLLocation 变量中的这些数字:
NSLog(@"%f", obj.cllVar->latitude);返回 0,0000 但调试器中的真正 lat var 具有实际值。是否有一种方法可以双重连接:“obj.cllVar.lat”,或者是否有另一种方式来拉动经纬度或经度。从那个 cllVar out 中使用不同的操作符
非常感谢。
【问题讨论】:
obj.cllVar->纬度是字符串或浮点类型 【参考方案1】:只需深入CLLocation
获取包含纬度和经度的 CLLocationCoordinate2D:
CLLocation *location = ...
CLLocationDegrees latitude = location.coordinate.latitude;
CLLocationDegrees longitude = location.coordinate.longitude;
【讨论】:
【参考方案2】:locations and maps programming guide 可以为处理设备位置提供很多帮助。 Techtopia 还提供了tutorial 以了解 CLLocationManager 的使用情况。这是一个 sn-p,它引用了一个带有 newLocation.coordinate.latitude
和经度为 newLocation.coordinate.longitude
的 CLLocation 变量(有关更多信息,请参阅来源):
#pragma mark -
#pragma mark CLLocationManagerDelegate
-(void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
NSString *currentLatitude = [[NSString alloc]
initWithFormat:@"%g",
newLocation.coordinate.latitude];
latitude.text = currentLatitude;
NSString *currentLongitude = [[NSString alloc]
initWithFormat:@"%g",
newLocation.coordinate.longitude];
longitude.text = currentLongitude;
NSString *currentHorizontalAccuracy =
[[NSString alloc]
initWithFormat:@"%g",
newLocation.horizontalAccuracy];
horizontalAccuracy.text = currentHorizontalAccuracy;
NSString *currentAltitude = [[NSString alloc]
initWithFormat:@"%g",
newLocation.altitude];
altitude.text = currentAltitude;
NSString *currentVerticalAccuracy =
[[NSString alloc]
initWithFormat:@"%g",
newLocation.verticalAccuracy];
verticalAccuracy.text = currentVerticalAccuracy;
if (startLocation == nil)
self.startLocation = newLocation;
CLLocationDistance distanceBetween = [newLocation
distanceFromLocation:startLocation];
NSString *tripString = [[NSString alloc]
initWithFormat:@"%f",
distanceBetween];
distance.text = tripString;
【讨论】:
以上是关于如何从 CLLocation 变量中提取经度和纬度?的主要内容,如果未能解决你的问题,请参考以下文章