【问题标题】:Call Method several times多次调用方法
【发布时间】:2014-07-03 11:47:40
【问题描述】:

我有一个向用户显示他们当前位置的应用程序。然而,我第一次调用该函数时它显示了错误的地址,但在第二次调用后它通常显示正确的地址。

我想在显示结果之前调用获取地址的函数 5 次,从而提高每次调用的准确性。

- (IBAction)getCurrentLocation:(id)sender {
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;

[locationManager startUpdatingLocation];

有什么简单的方法吗?

提前谢谢你,一切顺利

【问题讨论】:

标签: ios methods


【解决方案1】:

使用相同的数据多次调用反向地理编码方法不会提高信息的准确性 - 只有接收更准确的定位才能做到这一点。

Core Location 将在有新的位置信息时调用您的didUpdateLocations 委托方法。您应该在调用startUpdatingLocation 后立即调用此方法,但如果 GPS 接收器尚未初始化,则位置可能不太准确。

最近的位置是locations 数组中发送到您的委托方法的最后一个对象。您可以检查CLLocation[horizontalAccuracy][1] 属性以获取该位置的不确定性圆的半径(以米为单位)。您可以使用此信息来决定是要向用户显示地址还是继续等待更准确的位置。

请注意,如果用户在室内或 GPS 接收受阻,您可能永远不会收到更准确的位置。

【讨论】:

    【解决方案2】:

    检查位置管理器委托方法:

    Responding to Location Events
    – locationManager:didUpdateLocations:
    – locationManager:didFailWithError:
    – locationManager:didFinishDeferredUpdatesWithError:
    – locationManager:didUpdateToLocation:fromLocation: Deprecated in iOS 6.0
    Pausing Location Updates
    – locationManagerDidPauseLocationUpdates:
    – locationManagerDidResumeLocationUpdates:
    Responding to Heading Events
    – locationManager:didUpdateHeading:
    – locationManagerShouldDisplayHeadingCalibration:
    Responding to Region Events
    – locationManager:didEnterRegion:
    – locationManager:didExitRegion:
    – locationManager:didDetermineState:forRegion:
    – locationManager:monitoringDidFailForRegion:withError:
    – locationManager:didStartMonitoringForRegion:
    Responding to Ranging Events
    – locationManager:didRangeBeacons:inRegion:
    – locationManager:rangingBeaconsDidFailForRegion:withError:
    Responding to Authorization Changes
    – locationManager:didChangeAuthorizationStatus:
    

    实施这些,然后您可以在位置符合您期望的情况下更新您的用户界面?或者在经过一定次数的更新后。

    【讨论】:

      猜你喜欢
      • 2013-10-22
      • 2012-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-28
      • 2018-04-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多