【问题标题】:Managing LocationManager didUpdateLocation管理 LocationManager didUpdateLocation
【发布时间】:2013-06-19 09:00:31
【问题描述】:

两个问题:

  1. 我从 Singleton 调用了 LocationManager。当我运行以下代码时,它从启动的那一刻起无限循环。我怀疑这是处理器,尤其是电池密集型。一旦你有足够准确的修复,有什么批准的方法来终止这个循环?

  2. 我可以调整它以返回经度/纬度(经度/纬度)吗?

  • (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)旧位置 {

    int 度数 = newLocation.coordinate.latitude;

    双十进制 = fabs(newLocation.coordinate.latitude - degree);

    int 分钟 = 十进制 * 60;

    双秒 = 十进制 * 3600 - 分钟 * 60;

    NSString *lat = [NSString stringWithFormat:@"%d° %d' %1.4f\"", 度、分、秒];

    NSLog(@" 当前纬度 : %@",lat);

    degrees = newLocation.coordinate.longitude;

    decimal = fabs(newLocation.coordinate.longitude - degree);

    分钟 = 小数 * 60;

    秒 = 十进制 * 3600 - 分钟 * 60;

    NSString *longt = [NSString stringWithFormat:@"%d° %d' %1.4f\"", 度、分、秒];

    NSLog(@" 当前经度 : %@",longt);

}

【问题讨论】:

    标签: cllocationmanager


    【解决方案1】:

    1) 获得所需精度的位置后,只需在方法locationManager:didUpdateToLocation:fromLocation: 中执行[manager stopUpdatingLocation];
    2)要返回坐标(由纬度和经度组成),您可以在实现locationManager:didUpdateToLocation:的类中定义一个属性,例如@property CLLocationCoordinate2D myCoordinate;,然后在self.myCoordinate = newLocation.coordinate中执行;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-25
      相关资源
      最近更新 更多