У меня есть следующий код в основной деятельности:Точность определения местоположения остается на низком уровне с помощью GPS
LocationManager mlocMan = (LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE);
if (mlocMan.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
LocationListener mlocListener = new LocationManagerHelper(...);
mlocMan.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,mlocListener);
}
В слушателю месте у меня есть это: (theAccuracy инициализировался -1)
if (theAccuracy == -1 || theAccuracy > loc.getAccuracy()) {
theAccuracy = Math.round(loc.getAccuracy());
latitude = loc.getLatitude();
longitude = loc.getLongitude();
}
updateTimes++;
if (updateTimes == 3) {
mLocMan.removeUpdates(this);
updateTimes = 0;
//get address for location
theAccuracy = -1;
}
Значение, после 3-х обновлений местоположения от GPS, найдите наилучшее точное местоположение и получите его адрес. На эмуляторе я получаю фиксированную точность 20 м (я отправляю long/lat с помощью DDMS), но это не настоящая жизнь, поэтому я попытался с моим устройством, и в то время как первый раз (3 запроса) дал мне точный адрес (на месте) с Точность 40 м, некоторые из них иногда были более точными, но адрес был рядом. Лучшая точность, которую я получил, - 29 м (произошло один раз), в большинстве случаев она выше 30. Является ли это проблемой моего GPS (LG G3) или есть ли какая-либо другая идея, которая может сделать вещи более точными после 3-4-5 запросов?
1. эмулятор, конечно, не в реальной жизни 2. поэтому в minTime парах вы рекомендуете я должен поставить 1 вместо 0? когда вы говорите, что вы согреваете, вы имеете в виду с того момента, как я включил GPS или с моего первого запроса? 3. Службы Google были неточными в качестве обычного запроса, но весили гораздо больше, без каких-либо заметных преимуществ. Мне не нужен постоянный запрос местоположения, поэтому это не подходит для моих нужд. 4. Я стою возле окна своего дома, по иронии судьбы, первая попытка дала мне идеальный результат, следующие ... ну ... менее совершенные. – Amos
1. Под разогревом я имею в виду спам, некоторые запросы на gps, время, когда первый запрос не является эталоном. 2. Я не могу сказать, хорошо ли или плохо. GPS рассчитывается как дельта между двумя спутниками, если один спутник имеет четкую линию через ваше окно, а другой проходит через стену, вероятно, это хуже, чем прохождение через стены. 3. С клиентом google существует очень заметная конвергенция от повторяющихся запросов. Является ли это все из-за разминки или если есть также внутренний алгоритм конвергенции, я не знаю. – NameSpace
Я постараюсь проверить это на открытом воздухе. В то же время, вы рекомендуете мне просить более трех запросов? Какой minTime вы рекомендуете мне установить? – Amos