2011-01-13 3 views
0

Мне нужно отобразить horizontalAccuracy of currentLocation на карте в моем приложении. Для этого я поместил строку кода в viewDidLoad(); (_currentLocation это место CLLocationManager в.)Iphone CLLocationManager horizontalAccuracy обновление. Когда? и как я это знаю?

label4Accuracy.text = [NSString stringWithFormat:@"Accuracy: %.fm", _currentLocation.horizontalAccuracy]; 

И точность дисплея.

Проблема в том, что точность не меняется. Горизонтальная точность изменяет свою точность, если мы достаточно долго ждать (не всегда).

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

Я ожидал, что может быть метод где-то рядом с CLLocationManager; - (CLLocationAccuracy *) horizontalAccuracyUpdated():

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

ответ

0

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

Если вы используете только MKMapView, ваше мнение карты собирается сделать делегат вызов метода - (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation каждый раз, когда он обновляет местоположение пользователя, и что userLocation переменной она проходит будет иметь параметр .horizontalAccuracy, что дает точность в метрах.

Итак, установите контроллер вида в качестве делегата вида карты и реализуйте этот метод и посмотрите там обновления.

Если вы действительно используете CLLocationManager, то это же верно, за исключением метода делегата: - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation.

+0

спасибо. Что делать, если пользователь не перемещается? (У меня CLLocationManager. В .h, CLLocationManager * _locationManager и в .m, _currentLocation = _locationManager.location ;.) – bicbac

+0

ой, на самом деле я собирался посмотреть на эти методы делегата. все же мне нужно спросить: «Что, если пользователь не движется?». это все еще точность обновления? – bicbac

+0

сделалUpdateToLocation способ делает именно то, что мне нужно. Благодарю. – bicbac

Смежные вопросы