iPhone GPS Development - Подсказки + [закрытые] Приемы

Прототип - это шаблон класса; который применяется ко всем будущим его экземплярам. В то время как это конкретный экземпляр объекта.

18
задан Keith Fitzgerald 28 January 2009 в 15:39
поделиться

2 ответа

Я не знаю ни о каком определенном списке, но здесь являюсь несколькими вещей, которые необходимо иметь в виду:

  • Вы не делаете поисков GPS. Вы делаете Базовые поиски Местоположения. Базовое Местоположение могло бы или не могло бы получать свою информацию от GPS. Много людей все еще использует pre-3g iPhone, которые не имеют GPS, и даже на 3-граммовом телефонном GPS может быть недоступным во многих случаях (если человек в закрытом помещении, например). В тех случаях телефон попытается триангулировать на основе башен сотового телефона, и Базовое Местоположение возвратит результат. Это будет намного менее точно, чем GPS.
  • Базовое Местоположение будет кэшировать данные. Первое чтение, которое это предоставляет Вашему приложению, вероятно, будет старым чтением, которое могло бы или не могло бы быть точным, в зависимости от того, переместился ли телефон. Удостоверьтесь, что проверили метку времени любого местоположения и видели, ли это до Вашего запущенного приложения.
  • я не знаю то, что Вы подразумеваете "под питанием, сохраняют" режим, но если Вы думаете, когда экран заблокирован/от, который не мешает Базовому Местоположению работать, если Ваше приложение все еще работает. Наоборот легко бежать по батарее Вашего телефона намного более быстро, чем Вы ожидали бы, блокируете ли Вы телефон, в то время как приложение, которое использует Базовое Местоположение, работает, потому что телефон продолжит обновлять приложение, поскольку новые данные местоположения доступны. Вы могли избежать этого в своем приложении путем прислушивания к UIApplicationWillResignActiveNotification для обнаружения экранной блокировки, и UIApplicationDidBecomeActiveNotification для обнаружения разблокировали.
  • Более высокие результаты точности займут больше времени для получения, потому что, чем дольше Вы ожидаете, тем лучше результаты, до предела. Если Вы решаете, что необходимо быть в метрах N, рассмотреть, сколько времени пользователю, возможно, придется стоять, там ожидая телефона, чтобы сконцентрироваться на его местоположении.

, Достаточно ли 20 метров точны, что-то, что только можно ответить, на основе того, как Вы ожидаете, что Ваше приложение будет использоваться. Протестируйте приложение и посмотрите, работает ли оно способ, которым Вы хотите, чтобы оно работало.

40
ответ дан 30 November 2019 в 05:53
поделиться

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

  • можно сказать менеджеру местоположения останавливаться и запускаться снова, если Вы хотите вынудить это выпустить Вас по крайней мере еще одно обновление информации о местоположении.
  • , Если Вы не знали, существуют удобные методы в CLLocation, чтобы дать Вам расстояние между двумя местами.
  • , Поскольку документы отмечают, необходимо реализовать locationManager:didFailWithError: даже при том, что Вы не имеете к (если только остановить обновления менеджера местоположения какое-то время).
  • Тест полностью сценарии, где пользователь запрещает обновления информации о местоположении для Вашего приложения!
  • Очень, очень нечасто можно получить обновления не в порядке (т.е. Вы следовали за более точным местоположением немного менее точным, датированным ранее)
  • , средство моделирования даст Вам обновление информации о местоположении, но будет всегда сообщать о Вашем местоположении как о Apple HQ.
27
ответ дан 30 November 2019 в 05:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: