Наилучий провайдер дает наихудший результат...
Добавлено: 01 мар 2012, 18:09
Здравствуйте. Есть вопрос по выбору наилучшего провайдера
код создания сервиса
и метод getBestProvider
При таком раскладе , получается такая картинка с координатами
http://s41.radikal.ru/i093/1203/71/10690745aadb.jpg
где линии сходятся, там мой дом. Но на сервер начинают отсылаться какие-то страшные координаты, с погрешностью в несколько десятков километров о_О
Что было нужно: получать наиболее точные координаты, независимо от батареи. Т.е. не важно как она тратится. Но что я делаю не так? В классе Критерия, я всё указал, чтобы выбирался наилучший провайдер. Подскажите в какую сторону копать или что не так делаю.
код создания сервиса
Код: Выделить всё
public void onCreate() {
super.onCreate();
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
locationManager.requestLocationUpdates(this.getBestProvider(), 9000, 1, this);
}
Код: Выделить всё
private synchronized String getBestProvider() {
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(true);
criteria.setBearingRequired(true);
criteria.setSpeedRequired(true);
criteria.setCostAllowed(false);
criteria.setPowerRequirement(Criteria.POWER_HIGH);
String bestProvider = locationManager.getBestProvider(criteria, true);
return bestProvider;
}
http://s41.radikal.ru/i093/1203/71/10690745aadb.jpg
где линии сходятся, там мой дом. Но на сервер начинают отсылаться какие-то страшные координаты, с погрешностью в несколько десятков километров о_О
Что было нужно: получать наиболее точные координаты, независимо от батареи. Т.е. не важно как она тратится. Но что я делаю не так? В классе Критерия, я всё указал, чтобы выбирался наилучший провайдер. Подскажите в какую сторону копать или что не так делаю.