在我的didUpdateToLocation方法中,我正在获取位置更新,但我当前位置的移动是一些生涩的。
这是接收位置更新的代理:
-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLoc fromLocation:(CLLocation *)oldLoc
{
MKCoordinateRegion region;
region.center.latitude = newLoc.coordinate.latitude;
region.center.longitude = newLoc.coordinate.longitude;
region.span.latitudeDelta = 0.1;
region.span.longitudeDelta = 0.1;
[self.mapView setRegion:region animated:YES];
}
您能否帮我确定如何获得顺畅的位置更新?我在网上搜索过,发现我们可以在ios5中使用跟踪模式来获得平滑的位置更新。如果是这种情况,那么我应该在当前的代码中进行哪些更改。
如果我设定 [self.mapView setUserTrackingMode:MKUserTrackingModeFollow animated:YES]; 在视图中加载然后我应该在位置更新中再次设置区域吗? 或者它会自动设置,因为我使用了usertrackingmode? p>
答案 0 :(得分:0)
虽然它会更快地耗尽电池(因此除非您需要,否则不应使用它),如果您使用不同的desiredAccuracy
,您可能会发现准确度会提高。
如果您参考Accuracy Constants的Apples列表,您可能会发现kCLLocationAccuracyBestForNavigation
或kCLLocationAccuracyBest
是更好的选择。
答案 1 :(得分:0)
设置跟踪模式后,您无需进行任何手动区域/视图设置。