Android Google Maps Directions: как избежать неправильных маршрутов, когда GPS указывает на другую сторону дороги

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

Меня интересует эта проблема. Я не нашел никаких параметров в URL-адресе направлений, которые могли бы отключить правила дорожного движения. Это было бы здорово в данной ситуации. Может есть какое решение?

Метод, который я использую, заключается в том, что я делаю запрос на своем сервере, он возвращает координаты, затем я маршрутизирую первую координату со второй, вторую с третьей и так далее. (на основе метки времени)

Надеюсь, я ясно записал свою проблему. Хотя я счел ненужным публиковать свой код, по запросу я обновлю сообщение этим.

Как видите, на "Нюгати у." он должен показывать только один маршрут вместо двух.


person tamasJozsa    schedule 10.04.2015    source источник
comment
Я не понимаю проблемы. Таким образом, вы можете получить направление, как перейти из точки А в точку Б, и во время движения вы обновляете точку А, а точка Б не изменится, потому что это ваш пункт назначения, верно? Таким образом, текущая функция местоположения может немного отклоняться, но пока у вас есть конечный пункт назначения, вы просто продолжаете рисовать маршрут к этой точке, используя API направления. Честно говоря, не очень понимаю, что вы пытаетесь сделать...   -  person so_jin_ee    schedule 13.04.2015
comment
@tamasjozsa, если вы передаете режим = вождение для API направлений Google Maps, это может произойти.   -  person Amrut    schedule 09.12.2015


Ответы (1)


вам нужно привязать свои GPS latlngs к полилинии, которую вы получаете от направлений API. Google не отслеживает ваш предыдущий запрос, а просто рассчитывает маршрут из указанного вами источника.

Вы можете рассчитать свой текущий азимут и проверить, вернет ли вас результат Google Directions, и проигнорировать его.

Есть несколько способов избежать дрожания GPS см.

person Fuad All    schedule 27.11.2017