我正在尝试编写一个 iPhone 应用程序,只需按一下按钮即可存储用户的初始位置。然后,他们可以稍后按下一个按钮,该按钮将向他们显示与他们在 MapView 中的初始位置相关的最终位置。我怎样才能做到这一点?谢谢!
2 回答
这是关于使用位置的迷你教程..
这里添加框架CoreLocation
首先在 .h 文件中设置委托,并将此行导入 .h 或在 .m 文件中添加此行#import <CoreLocation/CoreLocation.h>
。
然后在 .m 中:
- (void)viewDidLoad {
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
}
-(void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
CLLocationCoordinate2D here = newLocation.coordinate;
NSLog(@"%f %f ", here.latitude, here.longitude);
}
同样,当您想存储位置时,在您的按钮点击事件上只需像上面的方法一样获取 newLocationlocationManager
每当 Core Location 有话要对你说时,这里的locationManager
委托方法 -(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
方法都会被 ping 通,这应该每隔几秒钟发生一次。这些 CLLocation 对象包含有关准确性的信息,因此您可以筛选该方法中的优点。一定要打电话[locationManager stopUpdatingLocation]
,然后[locationManager release]
在某个时候!
这是一个相当广泛的问题。
这个任务有几个部分:
- 获取位置。
- 将位置保存在某处。
- 检索位置。
首先,看看CLLocationManager。
对于第二个和第三个,最简单的选项可能是NSUserDefaults。