经度/纬度值不正确

Posted

技术标签:

【中文标题】经度/纬度值不正确【英文标题】:longitude/latitude values are not correct 【发布时间】:2011-05-01 22:30:01 【问题描述】:

我尝试捕捉经度和纬度值并暂时将它们显示在控制台(NSLog)中,我已经将对应的代码放在viewWillAppear方法中,无论如何,这没什么大不了的,我的问题是当我第一次显示视图时,我的控制台向我显示:

latitude: 0.000000
longitude:0.000000

第二次它告诉我:

latitude : 134217731.444448
longitude : 0.700000

第三次:

latitude : 134217731.444448
longitude : 0.700000

第n次:

 latitude : 134217731.444448
    longitude : 0.700000

这是我在viewWillAppear 中的代码(我确信它的逻辑非常正确,我正在等待您的澄清):

-(void)viewWillAppear:(BOOL)animated
   
    // locationManager update as location
    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self; 
    locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
    locationManager.distanceFilter = kCLDistanceFilterNone; 
    [locationManager startUpdatingLocation];
    CLLocation *location = [locationManager location];
    // Configure the new event with information from the location
    CLLocationCoordinate2D coordinate = [location coordinate];
    NSString *latitude = [NSString stringWithFormat:@"%f", coordinate.latitude]; 
    NSString *longitude = [NSString stringWithFormat:@"%f", coordinate.longitude];

    NSLog(@"Latitude : %@", latitude); 
    NSLog(@"Longitude : %@",longitude);


请注意,我在 iPhone 模拟器上工作,谢谢帮助 :)))

【问题讨论】:

【参考方案1】:

你不应该在这里检查坐标。

在同一个类中实现locationManager:didUpdateToLocation:fromLocation:方法并检查该方法内部的位置:

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
    CLLocationCoordinate2D coordinate = [newLocation coordinate];
    NSString *latitude = [NSString stringWithFormat:@"%f", coordinate.latitude]; 
    NSString *longitude = [NSString stringWithFormat:@"%f", coordinate.longitude];

    NSLog(@"Latitude : %@", latitude); 
    NSLog(@"Longitude : %@",longitude);


您当前的类应该实现CLLocationManagerDelegate 协议,即它应该是位置管理器的代表。

【讨论】:

以上是关于经度/纬度值不正确的主要内容,如果未能解决你的问题,请参考以下文章

如何正确地将纬度和经度坐标插入 mySQL 浮点数?

如何使用纬度,经度和值作为幅度正确绘制密度热图?

尽管准确的纬度/经度,但是〜100米的谷歌地图嵌入不正确

NodeJS 按纬度/经度查找国家

从纬度,经度转换为x,y

小程序地图报错——ret is not defined