169 похожих чатов

Всем привет. У кого есть хороший опыт с Google maps?

🌎 Не могу понять почему у меня маркер 🚘 прыгает рядом с маршрутом 😧

Создал маршрут в Google Earth, загрузил файл KML в эмулятор, маршрут отрисовало корректно.

Потом подписываюсь на стрим:

location.onLocationChanged
или

Geolocator.getPositionStream(locationSettings: locationSettings)

*пробовал два пакета Location и Geolocator

В результате мой маркер иногда попадает на дорогу, иногда не попадает. Как сделать чтобы маркер был на дороге или с минимальным отклонением?

На реальном устройстве тоже тестил. 😡 Такая же фигня 😡

10 ответов

25 просмотров

Сделай задержку меньше ,когда считыватель позицию Сделай меньше радиус ,или чё там И самое главное ,живи в идеальном мире где у тебя нет преград для сигнала со спутника

🆈🅴🆅🅷🅴🅽🅸🅸- Автор вопроса
Alex Wow
Сделай задержку меньше ,когда считыватель позицию ...

В эмуляторе нет преград ))) Понятно что если будет помеха то будет прыгать. Тут хотя бы лабораторных условиях для начала сделать чтобы корректно работало

Для этого есть гугл роадс сервис он платный

С этим сложно, сейчас тоже мучаюсь с тем что точность определения местонпхожденич в Андроиде низкая. Соответственно стоимость на месте, а текущая метка скачет. Единственное экспериментировать с distansefilter((

🆈🅴🆅🅷🅴🅽🅸🅸- Автор вопроса

В ходе дискуссий появилась идея отображать маркер не в точке которую получил из Geolocator, а в ближайшей из массива полилиний, но тут уперлись в вопрос как получить больше точек? 🤔 Есть Direction API, которое позволяет получить полилинии для построения маршрута и в основном все люди используют поле "overview_polyline" (все библиотеки полилиний для Flutter тоже парсят только этот краткий список, пришлось форкнуть flutter_polyline_points и немного подправить 🤪) В нашем тестовом маршруте "overview_polyline" - это всего 10 точек, Но можно распарсить поля "legs" и "steps" и получить немного больше точек. В нашем маршруте это уже 24 точки. 🤞 Есть Roads API, которое позволяет получить более точные линии и с большим количеством точек, то есть 38 точек. 💪 Итого по данному маршруту в Direction API я получаю 10 точек, в расширенном варианте 24 точки, а в Roads API - 38 точек. 🔥 НО. Получить запросом полилинии в Roads API только указав начальную точку и конечную я не могу, это не реализовано в API и указано в официальной документации Google. Соответсвенно мне надо сначала получить 24 точки в Direction API и если я хочу больше, передать их в Roads API и я получу 38 точек. 😢 Технически в этом нет проблемы, главное чтобы все это потом не тормозило, НО, количество платных запросов увеличивается в два раза. 🙀 Можно конечно разрабатывать свой навигатор и писать формулы для расчета точек, это тоже возможно, но там все немного сложнее, я тут сегодня начитался про методы Havesine и Vincenty, делать конечно все можно, но это все будет не так быстро как хочется. 🤪 Вот такая история с этой навигацией

🆈🅴🆅🅷🅴🅽🅸🅸- Автор вопроса
Alex Wow
screenshot Без мам пап и расчетов матриц

А маркер едет по этому маршруту когда двигается?

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта