逻辑判断要清晰:
要求位置上报,每次上报需要上报一次粗精度的,如果能够获取到细精度的需要再次上报一次细精度的。
实现:
添加标志位上报:
需要上报:
1、粗精度的没有上报,(上报)。
2、 粗精度的已经上报了,仍然获取到的是粗精度的,不上报。
获取到了细精度的,细精度的没有上报,(上报),并且停止检查上报。
细精度的已经上报,不需要上报。
if (self.delegate && _isNeedUpload) {
BOOL isCurUpload = NO;
if (!_isRoughUploaded) {
isCurUpload = YES;
_isRoughUploaded = YES;
}
if (accuracy < 5000) {
_isNeedUpload = NO;
isCurUpload = YES;
}
if(isCurUpload) {
[self.delegate sendLocation:1];
}
}