iphone按时间间隔获取用户位置
Posted
技术标签:
【中文标题】iphone按时间间隔获取用户位置【英文标题】:iphone getting user location at time intervals 【发布时间】:2011-07-08 00:01:49 【问题描述】:我浏览了 *** 中的一些问题,但无法获得清晰的画面。我正在开发一个 iPhone 应用程序,该应用程序涉及通过 GPS 获取用户的位置并根据我获得的值进行处理。我只是想确定我应该如何实现这个?使用这种方法:
[locationManager startUpdatingLocation]
给了我准确的位置,但它经常更新,我不想要。我想定期获取用户的位置,即每 2 分钟一次。我该如何实施?
我想到的方法(10秒间隔):
- (void)viewDidLoad
self.locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.distanceFilter = kCLDistanceFilterNone;
NSTimer *currentTimer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(theActionMethod) userInfo:nil repeats:YES];
在计时器的操作方法中:
- (void)theActionMethod
[locationManager startUpdatingLocation];
以及方法didUpdatetoLocation:
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
self.startingPoint = newLocation;
NSString *latitudeString = [[NSString alloc] initWithFormat:@"%g\u00B0", newLocation.coordinate.latitude];
NSLog([@"Latitude : " stringByAppendingString:latitudeString]);
[latitudeString release];
[locationManager stopUpdatingLocation];
现在我得到的值始终保持不变。每 10 秒更新一次位置,但所有值保持不变(我尝试打印经度、水平精度、高度、垂直精度等)。所以请帮助我如何每 2 分钟获得一次用户的准确位置(至少有点准确,因为我知道 GPS 不准确)。
而且我也想知道如何实现monitoringRegions 和significantlocationchange 的事情。有人成功实施了吗?我做不到。我没有注意到任何变化(我在 didEnterRegion 中打印了一些内容,即使我来回进出该区域也从未打印过)。提前非常感谢。
【问题讨论】:
这是两个问题;你应该问两个不同的问题。而且您的 monitoringRegions 太笼统了-到底什么不起作用?现在,回到您的主要问题:您是否在汽车/火车/公共汽车/飞机/船上进行测试,以便实际位置每 10 秒更改一次?如果您只是坐在办公桌前,则 GPS 位置每次都相同(在初始归零后)。 我应该把它当作 2 个问题来问。无论如何,我不确定 monitorRegions 是如何工作的。比如它多久更新一次?移动时,考虑我们在 10 秒内穿越区域(在 10 秒内进出),它会通知我吗?我正在通过进出我的近似监控区域进行测试。 您期望的准确度是多少?我不知道确切的限制,但 100 米可能很接近。换句话说,GPS 将无法(准确地)确定您仅移动了 75 米。 【参考方案1】:只要做你已经在做的事情。只需忽略委托方法并更改theActionMethod:
以使用您想要的locationManager.location
属性。
【讨论】:
嗨,只是想了解更多关于工作的信息..所以您是否打算说可以删除委托方法,只需使用locationManager.location
获取theActionMethod
中的更新位置值?您能否指出任何可以帮助我学习这样做的资源,或者如果您可以编辑如何做到这一点,那就太好了。谢谢。以上是关于iphone按时间间隔获取用户位置的主要内容,如果未能解决你的问题,请参考以下文章