1

我正在使用 Google Geocoding API 来检索 place_id(和其他)信息以与 Places API 一起使用。大多数地址返回预期的 27 个字符的 place_id 值,即:

ChIJUXJ61wrsFogR3jv6yBBFlQY

但是,一小部分返回看似不错的数据(formatted_address等)的地址正在返回带有前缀的 50 个字符的值,E例如:

EjA1Mjk1IFB1bGxleWJsYW5rIFN0LCBXaW5kc29yLCBPTiBOOU

这些 50 字符的 place_id 在 Google 的其他 API 上引发错误(即使用 place_id 作为起点和/或目的地的距离矩阵):

Invalid request. Invalid 'origins' parameter. 'EiU5MDAxIFJpbGV5IFN0LCBaZWVsYW5kLCBNSSA0OTQ2NCwgVV' 
is not a valid Place ID.

当我查看 Google 的回复时,我发现它们都分为三类:

  1. location_type=RANGE_INTERPOLATED,类型=street_address
  2. location_type=屋顶,类型=子前提
  3. 位置类型=近似,类型=交叉点

这三个地址都以某种方式表示有“问题”的地址(伪造的街道号码、较大区域的子部分、大致位置)。所以,我想我的问题是:

50 个字符的 place_id 值总是垃圾吗?

4

1 回答 1

2

您正在截断这些 ID,这就是 API 说它们无效的原因。它们可以超过 50 个字符。

如果您保持整个 ID 不变,则E前缀 ID 将与距离矩阵等一起使用。

于 2016-09-16T07:09:31.350 回答