iOS: базовое местоположение знает, когда найдено местоположение пользователя - PullRequest
0 голосов
/ 13 декабря 2011

Я создал объект locationManager, установил все параметры, включая делегат.Я получаю обновления местоположения, и это здорово.Но как я могу узнать, когда location services нашел местоположение моих пользователей?Иногда, если я переезжаю в другое место, где нет сотовой связи, требуется некоторое время, чтобы получить исправление.Поскольку я не использую MapKit, я не вижу способа узнать, не нашел ли я еще местоположение пользователя.

Этот вопрос НЕ о MapKit, только о CoreLocation.Я знаю, что MKMapViewDelegate имеет метод mapView:didUpdateUserLocation:, но я не использую MapView для этого приложения.

Есть ли такой метод?Или мне нужно добавить скрытый MKMapView или что-то еще, чтобы использовать mapView:didUpdateUserLocation:?

Ответы [ 2 ]

0 голосов
/ 13 декабря 2011

Вот две хорошие статьи, которые стоит рассмотреть: Как эффективно использовать Core Location в вашем приложении для iPhone и Получение информации о местонахождении iPhone с помощью iOS 4 Core Location Framework

Во второй статье вы увидите описанную точность, а точность оценивается в значениях свойств CLLocation verticalAccuracy и CLLocation horizontalAccurcy

. Для получения дополнительной информации см. Документацию для ссылки на класс CLLocation .подробности.

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

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

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

0 голосов
/ 13 декабря 2011

Положение пользователя может меняться со временем. Точность чтения может меняться со временем. Нет единственного дискретного момента времени, когда пользователь «найден», это просто постоянно меняющееся измерение.

Если вы используете Базовое местоположение, то сообщения, передаваемые вашему делегату, включают CLLocation объекты, которые имеют показания точности по горизонтали и вертикали. Если вы хотите знать, когда местоположение пользователя может быть измерено с определенной степенью точности, вы можете использовать их. Но вы должны знать, что это измерения, которые могут входить и выходить из вашего уровня допуска без предупреждения. Это не двоичная найденная / не найденная ситуация.

...