Как найти текущее местоположение iphone и обновить его - PullRequest
0 голосов
/ 17 февраля 2010

Я новичок в разработке для iphone. Я создаю приложение карты. Я создал панель инструментов с кнопкой под видом карты. Когда я нажимаю кнопку, она должна отображать вид предупреждения, показывающий текущее местоположение и запрашивающий обновление. при нажатии кнопки «ОК» в режиме просмотра предупреждений необходимо открыть карту с текущим местоположением и ОТМЕНА, чтобы закрыть представление предупреждений. Действие кнопки определяется в методе

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

  }

Что я должен сделать, чтобы выполнить свою задачу. Я добавил базовую структуру местоположения. Но я не знаю, как поступить. Я видел некоторые встроенные методы, которые можно использовать по этой ссылке http://iappdevs.blog.co.in/2008/12/06/get-current-location-sample-example-iphone-programming/, но я не могу реализовать его. Пожалуйста, направьте меня. Спасибо.

Ответы [ 2 ]

2 голосов
/ 17 февраля 2010

компонент MapKit MKMapView отображает текущую позицию самостоятельно, вам не нужно ничего делать.

На самом деле, внутренне, он создает экземпляр CLLocationManager и начинает обновлять местоположение для него, чтобы получить события положения в реальном времени. когда он получает эти позиции, он отображает их в виде синей точки с кругами с различным радиусом для указания точности, но это делается автоматически.

Чтобы запустить отображение текущей позиции на MKMapView, просто установите showsUserLocation на YES на вашем экземпляре MKMapView, и вы получите эту синюю точку, которая отображается и обновляется в режиме реального времени.

1 голос
/ 17 февраля 2010

С чего начинается ваша проблема - есть ли у вас основной представитель местоположения, который получает обновления местоположения? Вам необходимо запустить локацию ядра, используя следующие методы:

В приложении diffinishingLauncing ()

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

Это заставит основное местоположение перезвонить вам, так как оно получит обновления о местоположении, начиная с приблизительного местоположения, но дальнейшие обновления должны дать вам более точный фокус.

...