我正在使用Google地理编码API来检索place_id(和其他)信息,以便与Places API一起使用。大多数地址返回一个预期的27个字符的place_id值,即:
ChIJUXJ61wrsFogR3jv6yBBFlQY
然而,一小部分地址本来会返回看似好的数据(formatted_address
等),返回50个字符的值,前缀为E
,如:
EjA1Mjk1IFB1bGxleWJsYW5rIFN0LCBXaW5kc29yLCBPTiBOOU
这些50-char place_ids会在Google的其他API(即使用place_id作为原点和/或目的地的距离矩阵)上抛出错误:
Invalid request. Invalid 'origins' parameter. 'EiU5MDAxIFJpbGV5IFN0LCBaZWVsYW5kLCBNSSA0OTQ2NCwgVV'
is not a valid Place ID.
当我查看Google的回复时,我发现它们分为三类:
所有三个都表示地址为"问题"在某种程度上(假街道号码,较大区域的分区,大致位置)。所以,我想我的问题是:
50个字符的place_id值是否总是垃圾?
答案 0 :(得分:2)
您正在截断这些ID,这就是API说它们无效的原因。它们可以超过50个字符。
如果您保持整个ID完整,那么E
前缀ID将适用于距离矩阵等。