Класс GeoCoordinateWatcher
позволяет постоянно обновлять текущее местоположение пользователей. WatcherOnPositionChanged
событие будет поднят как приОстановка GeoCoordinateWatcher после точного определения местоположения
- Первоначальное место находится
- точность повышается
- пользователь физически перемещается за пределы определенного порога
мне нужно, чтобы найти положение пользователей насколько это возможно, а затем остановить наблюдателя, эффективно игнорируя, движется ли пользователь. Однако, похоже, не существует способа погасить последние два типа обновлений.
На ум приходит несколько подходов. Первое обновление - это всегда кеш с последнего использования GPS, второе - неточное предположение, а третье - окончательное точное местоположение (по крайней мере, на моем устройстве). В зависимости от того, что это правда для всех устройств, в лучшем случае кажется ненадежным. Другой подход может заключаться в том, чтобы дождаться фиксированного количества времени, прежде чем оседать на место. Например, подождите 10 секунд, а затем возьмите последнее место.
Мой первый подход состоял в том, чтобы обновлять и отображать данные каждый раз при изменении местоположения. Однако это было очень сложно по двум причинам. Место меняется несколько раз за первые несколько секунд, а во-вторых, когда позиция пользователя менялась быстро, то есть при сидении в движущемся автомобиле загрузка стала бы очень раздражающей.
Каков наилучший способ найти местоположение пользователя как можно точнее, а затем отключить наблюдателя?
Этого недостаточно. GPS не продолжает улучшаться. Он улучшается до некоторой точки, а затем останавливается. Иногда это достигается с точностью до 6/6 метров, иногда с гораздо меньшей точностью. Поэтому, если я буду ждать высокой точности, я могу ждать всегда. –
Затем запустите фоновый поток и заставьте его спать столько же времени, сколько вы готовы ждать. После этого времени, если у вас все еще нет достаточно точной позиции, возьмите последний. Я не верю, что есть способ предсказать, сможет ли GPS иметь точное исправление или нет, я не понимаю, как это будет возможно. –