Google Places API - 地点 ID 格式

问题描述 投票:0回答:6

我需要在我的数据库中存储一些地点ID。不幸的是,没有关于地点 ID 格式的文档。基本上,我的意思是最大(或固定)长度和有效字符(即验证地点 ID 形式正确性的正则表达式)。换句话说,我需要知道是否必须使用 CHAR(n) 或 VARCHAR(n) 以及该列的适当检查约束。

看起来它们总是 urlsafe Base64 字母表的 27 个字符(

-
而不是
+
_
而不是
/
),但我不能 100% 确定,因为这方面没有记录。

有人可以解释一下吗?

google-maps google-places-api
6个回答
4
投票

不幸的是,我无法向您提供有关 PlaceID 的文档 - 如果 Google 能够确定下来,我很乐意看到一些文档。我确实想指出,当前 PlaceID 的长度现在是 40 个字符,而不是 27。

我给您的建议(以及我在自己的数据库中采取的建议)是不要限制 PlaceID 字段的大小,并使用 Nvarchar 来最大化 Google 将来可能选择使用的字符。

由于 Google 目前不承诺任何限制,我认为假设他们将保留当前格式,您将承担风险。


2
投票

当前的文档(最后更新时间为 2019 年 6 月 20 日)指出地点 ID 的长度各不相同,并且(当前)可以从 27 个字符长一直到 60 个字符。

地点 ID 是唯一标识地点的文本标识符。标识符的长度可以变化。例子:

ChIJrTLr-GyuEmsRBfy61i59si0

EisxMyBNYXJrZXQgU3RyZWV0LCBXaWxtaW5ndG9uLCBOQyAyODQwMSwgVVNB

1
投票

SQL 结构中的 PLACE_ID 至少应为 512。

这是长度为 315 的有效 ID:

'EsIBS0FWLjc2LTc4LCBJbmRvZm9vZCBUb3dlciwgU3VkaXJtYW4gUGxhemEsIEpsLiBKZW5kLiBTdWRpcm1hbiBOby43Ni03OCwgUlQuMy9SVy4zLCBLdW5pbmdhbiwgU2V0aWEgQnVkaSwgS2VjYW1hdGFuIFNldGlhYnVkaSwgS290YSBKYWthcnRhIFNlbGF0YW4sIERhZXJhaCBLaHVzdXMgSWJ1a290YSBKYWthcnRhIDEwMjUwLCBJbmRvbmVzaWEiJRojChYKFAoSCSH20UED9GkuEc707mF-vRHxEglLQVYuNzYtNzg'

我个人使用 SHA256 固定长度唯一字段作为带有查找表的 PLACE_ID。 不管怎样,至少 512。


0
投票

Google API 中的 placeId 有一些变化。 查看 Google Doc 以了解更多信息。 如果需要有关地点自动完成的任何示例和文档。

http://www.w3docs.com/learn-javascript/places-autocomplete.html


0
投票

我根据我的服务位置系统做了同样的操作来注册频繁位置,推荐的事情看到 27、60 和 92 之间的变化。

我把它留在了256(有成长或改变原型的可能性)。


0
投票

从建议的编辑到接受的答案:

[地点 ID 文档][1] 现在说:“标识符的长度可能会有所不同(地点 ID 没有最大长度)”

© www.soinside.com 2019 - 2024. All rights reserved.