【问题标题】:CLLocationManager updates location when user select location buttonCLLocationManager 在用户选择位置按钮时更新位置
【发布时间】:2011-08-06 05:32:07
【问题描述】:

在我的应用程序中,在最初的午餐中,我必须使用 cllocationmanager 类来查找当前位置 ([locationManager startUpdatingLocation];) 使用此方法。找到位置后我 触发了这个方法([locationManager stopUpdatingLocation];)。

现在用户将从一个地方移动到另一个地方。它会自动检测新位置或者我们需要再次触发 ([locationManager startUpdatingLocation];) 这个方法。

帮帮我?

注意:

如果我再次调用 ([locationManager startUpdatingLocation];) 方法,它将给出一个新位置或旧位置。如何区分它?

【问题讨论】:

    标签: iphone


    【解决方案1】:

    每当您调用 [locationManager startUpdatingLocation]; 时,它都会为您提供当前位置。所以,当你再次调用这个函数时,它会给你新的位置。

    【讨论】:

      【解决方案2】:

      在这种情况下,如果您想要自动更新,或者在一定时间后您必须再次检查更新的位置并将其与之前的位置进行比较,您必须持续关注更新的位置。通过这样做,您将了解天气是新位置还是旧位置。

      【讨论】:

        【解决方案3】:

        简短回答:是的,您需要调用 [locationManager startUpdatingLocation];获得一个新的位置。可以先停再启动,再停再启动,每次启动都会得到设备的当前(新)位置。

        长答案:您还可以选择保持 locationManager 开启(从不调用 stopUpdatingLocation)并始终获取更新。通过为位置管理器设置 distanceFilter 属性,您可以选择何时(或者准确地说,距离上次更新的距离增量)将新的位置更新发送到您的应用程序。这似乎是大多数需要多个位置样本或需要不断跟踪用户位置的实现中使用的方式。

        另外请注意,有一个新的 startMonitoringSignificantLocationChanges 提供了不同的方式来获取更新:如果您想使用此功能,请仔细阅读文档,它并不总是可用。

        【讨论】:

          猜你喜欢
          • 2012-03-30
          • 1970-01-01
          • 2011-08-27
          • 2014-12-29
          • 2015-06-07
          • 1970-01-01
          • 1970-01-01
          • 2016-08-30
          相关资源
          最近更新 更多