Обязательно ли startUpdatingMyLocation для вызова метода didUpdateToLocation диспетчера местоположений в iphone SDK - PullRequest
2 голосов
/ 17 января 2012

Мне нужно разъяснение этого.Является ли метод startUpdatingMyLocation обязательным для вызова didUpdateToLocation?не вызывается ли метод didUpdateToLocation автоматически при обновлении местоположения?

Парни, пожалуйста, очистите мое разъяснение.

Ответы [ 2 ]

2 голосов
/ 17 января 2012

Документы гос.

Запустите стандартные службы определения местоположения, вызвав startUpdatingLocation метод. Эта услуга наиболее подходит для приложений, которые нуждаются более детальный контроль над доставкой событий местоположения. В частности, он учитывает значения в требуемой точности и свойство distanceFilter, чтобы определить, когда доставлять новые события. Точность стандартных служб определения местоположения необходима навигационные приложения или любые приложения, где высокая точность данные о местоположении или регулярный поток обновлений не требуется. Тем не мение, эти службы обычно требуют, чтобы оборудование для отслеживания местоположения включается на более длительные периоды времени, что может привести к увеличению мощности использование.

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

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

Таким образом, вы можете использовать любой из двух, startUpdatingLocation или startMonitoringSignificantLocationChanges, чтобы получать обновления местоположения, но вам придется вызывать любой из них для вызываемого метода делегата. (ИМХО)

1 голос
/ 05 июля 2012

Запустите стандартные службы определения местоположения, вызвав метод startUpdatingLocation. Этот сервис наиболее подходит для приложений, которым требуется более детальный контроль над доставкой событий местоположения. В частности, он учитывает значения в свойствах requiredAccuracy и distanceFilter, чтобы определить, когда следует доставлять новые события. Точность стандартных служб определения местоположения требуется навигационным приложениям или любым приложениям, где требуются высокоточные данные о местоположении или регулярный поток обновлений. Однако эти службы обычно требуют, чтобы оборудование отслеживания местоположения было включено в течение более длительных периодов времени, что может привести к более высокому энергопотреблению.

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

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

...