CLLocationManager更新位置不正确

时间:2018-11-13 13:15:49

标签: ios objective-c cllocationmanager

我正在使用if (!function_exists('ldap_connect')) { die('Your server does not support LDAP'); } 来访问用户位置,以下委托方法返回的坐标不正确

CLLocationManager

3 个答案:

答案 0 :(得分:1)

位置数据的准确性。

locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation
locationManager.distanceFilter = kCLLocationAccuracyHundredMeters

您应该为此属性分配一个适合您的使用情况的值。

例如,如果您仅需要在一公里内的当前位置,则应指定kCLLocationAccuracyKilometer而不是kCLLocationAccuracyBestForNavigation。确定更高的位置需要更多的时间和更多的电量。

答案 1 :(得分:1)

locationManager:didUpdateToLocation:fromLocation: 不推荐使用。建议使用locationManager:didUpdateLocations:。 它告诉代表新的位置数据可用。最近的位置更新位于数组locations的末尾。


以下是您可以探索的属性:

distanceFilter:在生成更新事件之前,设备必须水平移动的最小距离(以米为单位)。

desiredAccuracy:位置数据的准确性。

答案 2 :(得分:0)

您所说的“不准确”有两种情况。

  1. 不是您期望的当前位置。
  2. 当前位置的经纬度差异很小。

情况1:更改您在iPhone中的当前位置,然后再次尝试获取您的位置。

情况2:在这种情况下,您应该为位置管理器的对象设置一些值,例如所需的精度和距离过滤器。

此外,在此方法内共享您的代码。也许您做错了事。

谢谢!