Декодировать параметр геокодирования из общих направлений Google Maps - PullRequest
0 голосов
/ 08 декабря 2018

У меня запущено веб-приложение, в котором для получения точного маршрута используется пользовательская ссылка на Карты Google.Мне удалось сделать это с помощью URL с веб-сайта Google Maps для ПК.Однако, когда пользователь делится своим маршрутом (проверено с помощью Google Maps v. 10.5.1 на Android), я получаю текст, описывающий его, и URL, например:

http://maps.google.com/maps?saddr=Place%20Gutenberg&daddr=Total%20Access%20to%3ASaverne%20to%3A37%20Rue%20Principale&geocode=FXFK5QIdSDp2ACkDNviMUsiWRzEwht7l1Vpwow%3D%3D%3BFZuC5QId9qJ1ACkJCEId2beWRzHWFfoyuzuJzA%3D%3D%3BFQy05wIdoWVwACmdE_u4pKCWRzGiu3h9VRmREQ%3D%3D%3BFaqo5QIdNkd2ACmR2fo9b8iWRzHOHc1chiuP1Q%3D%3D&dirflg=d

Я могу получить начальный адрес, путевые точки и пункт назначения для первой части URL.Однако, как видите, адреса неполные, и я не могу использовать их в API Карт для получения маршрута.

Мне нужна информация в параметре геокодирования .Я заметил, что он кодирует начальные адреса, путевые точки и конечную точку назначения с помощью "==", и они разделяются знаком ";".Это почти строка в кодировке base64, с небольшой разницей, что символы «+ /» заменяются на «-_».

Если я попытаюсь декодировать в base64 первый элемент в поле геокодирования, яполучить эти байты (Python 3.7): b '\ x15qJ \ xe5 \ x02 \ x1dH: v \ x00) \ x036 \ xf8 \ x8cR \ xc8 \ x96G10 \ x86 \ xde \ xe5 \ xd5Zp \ xa3'

Я думаю, что есть координаты точки.Кто-нибудь знает, как преобразовать эти закодированные строки, чтобы извлечь координаты?Если возможно на Python, но я переведу, если у вас есть решение на другом языке.

Большое спасибо!

...