Создание GeoPoint в Android
GeoPoint point = new GeoPoint(
(int) (userlocation.getLatitude() * 1E6),
(int) (userlocation.getLongitude() * 1E6));
Я создаю географическую точку, как указано выше, но она не находится в точном местоположении пользователя, это примерно от 500 до 600 метров
Здесь userlocation - местоположение, которое я получаю от слушателя местоположения.
В пользовательском местоположении я получаю значения примерно 18.453225455645 & 78.15446456546 Но при построении графиков я могу использовать только 18.453225 & 78.154464, т.е. только шесть цифр после десятичной дроби. если я пытаюсь использовать дополнительные значения, маркер показывает неправильное местоположение.(Это связано с необходимостью значений геопункта в int)
Как я могу построить точное местоположение на карте?
Отредактировано:- Я не думаю, что у кого-то есть решение по этому вопросу. Я проверил несколько приложений и обнаружил, что одно приложение под названием myTaxi имеет большую точность, чем карта Google, не знаю, как они это получают. В настоящее время я просто округляю широту и долготу.
Благодарю вас
1 ответ
А. Если убрать последние несколько цифр после шести цифр, вы не получите ошибку 500–600 м, поскольку 5 цифр после десятичных разрядов дают точность около 1 м.
б. Используете ли вы GPS или другой поставщик местоположения? Используйте только GPS в качестве поставщика местоположения, если вы хотите точное местоположение. Есть ловушка, хотя для корректной работы GPS потребуется линия видимости.