存储iPhone位置

时间:2012-10-04 05:47:45

标签: iphone objective-c xcode ipad mkmapview

我正在尝试编写一个iPhone应用程序,只需按一下按钮即可存储用户的初始位置。然后,他们可以稍后按一个按钮,向他们显示与MapView中的初始位置相关的最终位置。我怎样才能做到这一点?谢谢!

2 个答案:

答案 0 :(得分:0)

这是一个相当广泛的问题。

这项任务有几个部分:

  1. 获取位置。
  2. 将位置保存在某处。
  3. 检索位置。
  4. 首先,请查看CLLocationManager

    对于第二个和第三个,最简单的选项可能是NSUserDefaults

答案 1 :(得分:0)

这里是关于使用位置的迷你教程..

这里添加框架CoreLocation

首先在.h文件中设置委托 并在.h或.m文件中导入此行,添加此行#import <CoreLocation/CoreLocation.h>

然后在.m go:

- (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);
}

当你想要存储位置然后在你的按钮点按事件时,只需从locationManager

获取上述方法的newLocation

此处locationManager委托方法-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation方法会在每次核心位置向您说话时获取,这应该每隔几秒发生一次。这些CLLocation对象包含有关准确性的信息,因此您可以在该方法中筛选好点。 请务必在某个时候拨打[locationManager stopUpdatingLocation],然后再拨打[locationManager release]