在我的应用程序中,在初始午餐时我必须使用cllocationmanager类来查找当前位置([locationManager startUpdatingLocation];)使用此方法。找到位置后我 解雇了这个方法([locationManager stopUpdatingLocation];)。
现在用户将从一个地方移动到另一个地方。它将自动检测新位置,或者我们需要再次触发([locationManager startUpdatingLocation];)此方法。
帮帮我?
如果我再次调用([locationManager startUpdatingLocation];)方法,它将给出一个新位置或旧位置。如何区分它?
答案 0 :(得分:1)
每当您调用[locationManager startUpdatingLocation];时,这将为您提供当前位置。因此,当您再次调用此函数时,它将为您提供新位置。
答案 1 :(得分:0)
在这种情况下,您必须持续关注更新的位置,如果您想要自动更新,或者在一段时间后您必须再次检查更新的位置并将其与之前的位置进行比较。通过这样做,你会知道天气是新的位置还是旧的。
答案 2 :(得分:0)
简答:是的,你需要调用[locationManager startUpdatingLocation];获得一个新的位置。您可以停止然后启动,然后停止然后启动,每次启动时,您将获得设备的当前(新)位置。
答案很长:您也可以选择保持locationManager(从不调用stopUpdatingLocation)并始终获取更新。通过为位置管理器设置distanceFilter属性,您可以选择将新位置更新发送到您的应用的时间(或者,确切地说,距离上次更新的距离为三角洲)。这似乎是大多数实现中使用多个位置样本或需要不断跟踪用户位置的方式。
另请注意,有一个新的startMonitoringSignificantLocationChanges提供了不同的获取更新的方法:如果您想使用此功能,请仔细阅读文档,但并不总是可用。