Google Places 自动完成“地址”类型也允许仅街道地址

dwj*_*ton 7 google-places-api

这里的这个问题基本上问了同样的问题:

将 Google 地方信息自动完成限制为仅返回地址

但没有得到正确的答案。

如果我们查看官方文档示例,他们可以选择选择地址类型。但是,在它上面,我们可以看到它允许我们只选择街道:

在此处输入图片说明

有没有办法让 Places Autocomplete 只选择真实地址?

Yrl*_*rll 0

由于这个问题已经很老了,所以搜索结果现在有所不同,但类型返回街道地址的事实address保持不变。

为了澄清这里的情况,API在返回街道地址时正在按预期工作。

types=address似乎相当模糊,如果您不想包含街道地址,您需要做的是更具体。

下面是地点类型文档中有关自动完成的不同类型限制的参考表。

表 3:地点自动完成请求中支持的类型集合

支持的类型有:

geocode指示地点自动完成服务仅返回地理编码结果,而不返回业务结果。通常,您可以使用此请求来消除指定位置可能不确定的结果的歧义。

address指示地点自动完成服务仅返回具有精确地址的地理编码结果。通常,当您知道用户将查找完全指定的地址时,您可以使用此请求。

establishment指示地点自动完成服务仅返回业务结果。

(regions)类型集合指示 Places 服务返回与以下类型匹配的任何结果:

locality sublocality postal_code country administrative_area_level_1 administrative_area_level_2

(cities)类型集合指示 Places 服务返回locality与 或匹配的结果administrative_area_level_3

为了进一步证明这一点,我尝试使用官方文档示例进行测试。

types=address我尝试用两者搜索真实的街道地址,types=geocode它们按预期返回街道地址。

address型:
地址类型

geocode型:
地理编码类型

然后我尝试了它types=establishment,它没有返回任何街道地址。

establishment型:
机构类型

您可以使用除和types之外的任何其他值。只要您明确限制,事情就会顺利进行。您只需在应用程序上放置一些开关即可更改限制,就像官方文档示例一样,以便您的最终用户可以自由选择限制。但这仍然取决于您的用例。types=establishment(cities)(regions)

希望这可以帮助。