如何从 Google Places API 获取地点描述

Posted

技术标签:

【中文标题】如何从 Google Places API 获取地点描述【英文标题】:How to get place description from Google Places API 【发布时间】:2018-01-28 20:28:55 【问题描述】:

我正在尝试使用 Google 地点 API 来获取某些地点的信息。我有一个

来自 Google 搜索的示例:

这里是我想要找到的。我认为 Places API 文本搜索的“类型”字段会包含它,但该文本似乎有所不同,并且不在提供的选项列表中。如果有人能提供一些关于它来自哪里以及如何获得它的信息,将不胜感激。谢谢

【问题讨论】:

【参考方案1】:

目前您无法通过 Places API 获取此数据。 Google 问题跟踪器中有一个功能请求,要求在 Places API 中提供详细的业务类型,但是 Google 没有公开任何 ETA:

https://issuetracker.google.com/issues/35822953

欢迎对此功能请求加注星标以表达您的兴趣并订阅来自 Google 的通知。

【讨论】:

他们还没有在places API 中发布这个吗?似乎这个问题已经超过 5 年了。【参考方案2】:

根据Google Places SDK to android

自 2015 年 9 月 24 日起,我们有:

此版本为 AutocompletePrediction 添加了三个新方法,让您可以轻松访问地点描述的主要和次要部分以及描述的全文。这很有用,例如,当您想显示一个简短的标题,然后是有关该地点的更多详细信息时。请参阅 GitHub 上的示例代码。新方法如下:

getFullText(CharacterStyle matchStyle) 返回地点描述的全文。这是主要和次要文本的组合。示例:“埃菲尔铁塔,法国阿纳托尔大道,法国巴黎”。

此方法等效于现有的 getDescription() 方法。此外,它还允许您使用 CharacterStyle 突出显示与搜索匹配的描述部分以及您选择的样式。 CharacterStyle 参数是可选的。如果您不需要任何突出显示,请将其设置为 null。

getPrimaryText(CharacterStyle matchStyle) 返回描述地点的主要文本。这通常是地点的名称。例如:“埃菲尔铁塔”和“皮特街 123 号”。

getSecondaryText(CharacterStyle matchStyle) 返回地点描述的附属文本。这很有用,例如,在显示自动完成预测时作为第二行。示例:“Avenue Anatole France, Paris, France”和“Sydney, New South Wales”。

伴随上述改进,以下关于 AutocompletePrediction 的方法现已弃用:

getDescription() 现已弃用。

请使用 getFullText()、getPrimaryText() 和/或 getSecondaryText() 检索完整或部分描述,getMatchedSubstrings() 现已弃用。请使用 getFullText() 更轻松地格式化匹配项。

【讨论】:

以上是关于如何从 Google Places API 获取地点描述的主要内容,如果未能解决你的问题,请参考以下文章

使用Javascript从Google Places搜索api获取纬度和经度

如何从 Android/Java 中的 Google Places API 获取有关地点的确切子类别名称? [复制]

从 Google Places API 获取地址信息

Google Maps Places API - 如何获取地名? [复制]

如何有效检测 UI 文本输入以调用 google places API 以获取建议?

Google Places API Autocomplete 仅获取城市列表