2012-10-04 94 views
0

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

+0

欢迎来到Stack Overflow!请阅读常见问题解答,以便获得更高质量的问题答案。 请提供一些信息,确切地说你想要什么,到目前为止你已经尝试了什么,以及什么不工作。 – brainray

回答

0

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

有几件该任务:

  1. 获取位置。
  2. 将位置保存在某处。
  3. 检索位置。

首先,看看CLLocationManager

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

0

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

在这里.h文件中添加框架CoreLocation

第一组的代表像 并导入上的.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); 
} 

还当你想要然后存储在您按钮点击事件的位置,距离locationManager

这里locationManager委托方法得到newLocation像上述方法-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation方法将得到每次核心位置都有话要对你说,这应该每隔几秒发生一次。这些CLLocation对象包含有关准确性的信息,因此您可以在该方法中筛选出好的点。 请务必在某个时间拨打[locationManager stopUpdatingLocation],然后拨打[locationManager release]