Как улучшить точность определения местоположения GPS в Android - PullRequest
6 голосов
/ 05 августа 2010

Привет, я работаю над приложением, которое использует местоположение GPS. Мои устройства для тестирования - Nexus One и Htc Mytouch 3g Slide.

Так кто-нибудь знает, как улучшить точность определения местоположения GPS?

Ответы [ 3 ]

4 голосов
/ 11 августа 2011

Начиная с API 9, вы можете использовать некоторые константы для setAccuracy метода

lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_HIGH);  
lm.getBestProvider(criteria, true);

ACCURACY_HIGH менее 100 метров
ACCURACY_MEDIUM между 100 - 500 м.
ACCURACY_LOW больше 500 метров

вот подробности

4 голосов
/ 08 мая 2013

Хотя в API 9 появились некоторые новые возможности с точки зрения настройки точности, то, что сказал @dev mz, работать не будет. Вы не можете использовать новые константы непосредственно в criteria.setAccuracy. Вместо этого вы можете использовать эти новые функции, такие как:

        //All your normal criteria setup
        Criteria criteria = new Criteria();
        //Use FINE or COARSE (or NO_REQUIREMENT) here
        criteria.setAccuracy(Criteria.ACCURACY_FINE);
        criteria.setPowerRequirement(Criteria.POWER_LOW);
        criteria.setAltitudeRequired(true);
        criteria.setSpeedRequired(true);
        criteria.setCostAllowed(true);
        criteria.setBearingRequired(true);

        //API level 9 and up
        criteria.setHorizontalAccuracy(Criteria.ACCURACY_HIGH);
        criteria.setVerticalAccuracy(Criteria.ACCURACY_HIGH);
        criteria.setBearingAccuracy(Criteria.ACCURACY_LOW);
        criteria.setSpeedAccuracy(Criteria.ACCURACY_HIGH);

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

4 голосов
/ 05 августа 2010

см. Этот пост: Google Карты и приложения с просмотром карты имеют разные текущие позиции

Вы говорите о своем собственном MapView в своем приложении или в приложении Google Maps? На вашей собственной карте используйте оба сетевых провайдера и провайдера GPS, чтобы получить местоположение. Gps работает только на улице под открытым небом и более точен, в то время как сетевой оператор работает в помещении, но менее точно.

Также прочтите это: http://forum.sdx -developers.com / android-2-1-development / cdma-lockup-wifi-использование-беспроводные сети-и-gps! / Msg22834 / # msg22834

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...