从共享的Google Maps方向解码地址解析参数

时间:2018-12-08 11:21:36

标签: google-maps url base64 decode

我正在运行一个Webapp,该Webapp会使用用户的Google Maps路线链接提取确切的路线。我设法通过Google Maps桌面网站的URL来完成此操作。但是,当用户共享其路线时(通过Android上的Google Maps 10.5.1版进行验证),我得到了描述该路线的文本和一个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的第一部分的起始地址,航路点和目的地。但是,如您所见,地址不完整,我无法在Maps API中使用它们来获取路线。

我需要的信息在地址解析参数中。我注意到它以“ ==”编码起始地址,航点和终点,并以“;”分隔。几乎是base64编码的字符串,只是稍有不同,用“ -_”替换了“ + /”字符。

如果我尝试在base64中解码地址解析字段中的第一个元素,则会得到以下字节(Python 3.7): b'\ x15qJ \ xe5 \ x02 \ x1dH:v \ x00)\ x036 \ xf8 \ x8cR \ xc8 \ x96G10 \ x86 \ xde \ xe5 \ xd5Zp \ xa3'

我想这里有该点的坐标。有人知道如何转换这些编码的字符串以提取坐标吗?如果可以,请使用Python,但如果您有其他语言的解决方案,我会翻译。

非常感谢!

0 个答案:

没有答案