如何找到iPhone的当前位置并更新它

时间:2010-02-17 12:38:21

标签: iphone maps core-location

我是iphone开发的新手。我正在创建一个地图应用程序。我在mapview下面创建了一个带有按钮的工具栏。当我点击按钮时,它会显示一个警告视图,显示当前位置并要求更新。在警报视图中单击“确定”时,应使用当前位置打开我的地图,然后取消以关闭警报视图。按钮操作在方法中定义

 -(IBAction) gosearch : (id) sender{
    NSLog(@"inside go search");

  }

我应该怎么做才能完成我的任务。我已经添加了核心位置框架。但我不知道如何继续。我看到了一些内置的方法可以从这个链接使用http://iappdevs.blog.co.in/2008/12/06/get-current-location-sample-example-iphone-programming/但是我无法实现它。请指导我。谢谢。

2 个答案:

答案 0 :(得分:2)

MapKit组件MKMapView自行显示当前位置,您无需执行任何操作。

实际上,在内部,它实例化CLLocationManager并开始更新其上的位置以获取实时位置事件。当它获得这些位置时,它会将它们显示为蓝点,带有不同半径的圆圈以指示准确性,但这是自动完成的。

要触发MKMapView上当前位置的显示,只需在MKMapView实例上将showsUserLocation设置为YES,即可实时显示和更新此蓝点。

答案 1 :(得分:1)

您的问题从何处开始 - 您是否拥有获取位置更新的核心位置代理?您需要使用以下方法启动核心位置:

在applicationdidfinishingLauncing()

{
self.locationManager = [[[CLLocationManager alloc] init] autorelease];
self.locationManager.delegate = self; // Tells the location manager to send updates to this object
[locationManager startUpdatingLocation];

这将获得核心位置,以便在获取位置更新时回拨给您,从粗略的位置开始,但进一步更新可以让您更准确地关注。