谷歌折线:字符串超出范围

时间:2017-08-18 02:21:44

标签: google-polyline

我尝试使用谷歌折线来解码数据。我的数据看起来像

“Y rwFpjpbMbDxB|BxAtBxAjFhDrFnDFHlBnAtBtAzBvAvFrDl@\\ MfFNHo @〜CTF | BXLn @ ADP @}的Cp @ mCfAuD \ {AlKmg @@] L {多@pAoG Nup@bCoL @ GBF @的eC ^ GBB @ cBjD {P \ oBVyAFgA ?CAS @ _QK} @ Q_AYcAa @ CA] i的@米@瓦特@瓦特@ q因子@一个@ WuCyAcAk @} @ö@ AA {@} @} @ aBuBG [M @米@ oEuFcAwAmB} CeDaG_FcJqAeCm @ oAKe @于@ C_ @ ABA @的cB [eBEa @ fCeBlCYzGq @ ZZG'

如果我将此字符串放入代码

polyline.decode('Y rwFpjpbMbDxB|BxAtBxAjFhDrFnDFHlBnAtBtAzBvAvFrDl@\\ MfFNHo @〜CTF | BXLn @ ADP @}的Cp @ mCfAuD \ {AlKmg @@] L {多@pAoG Nup@bCoL @ GBF @的eC ^ GBB @ cBjD {P \ oBVyAFgA?CAS @ _QK} @ Q_AYcAa @ CA] i的@米@瓦特@瓦特@ q因子@一个@ WuCyAcAk @} @ö@ AA {@} @} @ aBuBG [M @米@ oEuFcAwAmB} CeDaG_FcJqAeCm @ oAKe @ Yu @ c @ aBa @ cB [eBEa @ fCeBlCYzGq @ ZzG'),它给了我数据。

但是,如果我运行程序并将字符串保存到列表中,如代码[], 并运行代码

polyline.decode(code [0]),错误会说:

IndexError:字符串索引超出范围

我多次尝试过,无法解决问题。任何人都可以告诉我,我做错了什么?提前谢谢!

1 个答案:

答案 0 :(得分:0)

可能与字符串中的转义字符有关。

将来自网络调用的编码字符串作为原始字符串复制/粘贴到 python 脚本中时,我遇到了类似的问题:

encoded_string = r"<pasted string>"
l = polyline.decode(encoded_string)

>>
>> .. IndexError: string index out of range

当使它成为一个普通的字符串时(去掉 'r' 限定符)它起作用了

encoded_string = "<pasted string>"
l = polyline.decode(encoded_string)