在Google Places API中获取当前地点类型

时间:2018-04-20 14:09:39

标签: android google-places-api google-places

我正在使用Google Places API。

我在我的日志中找到了正确的位置,但我只想要这个地方类型的名称。让我们说这是我的输出

  

Place' Parque Las Tejas'有可能:0.950000类型:[69,1013,34]

所以,起初我得到了我所在的位置,我可能在哪里,然后我才使用:

List<Integer> types = placeLikelihood.getPlace().getPlaceTypes();

认为它会像#&#34; park&#34;或&#34; square&#34;但不是那样,我得到那些数字[69, 1013, 34]

根据我read here的内容,有很多类型可以定义某个地方。

我想要的只是获得那种类型,所以如果我在一家餐馆,我不想要餐馆的名称,而只需要类型,所以"Restaurant"将会是我的输出。

我需要这个,因为我想根据用户的位置为用户提供选项。

知道我做错了吗?

2 个答案:

答案 0 :(得分:2)

根据文档,您获得的List<Integer>实际上是地点类型的ID:

  

此列表的元素来自Place.TYPE _ *

列表为here。所以基本上你的目标是使用这个列表将int代码转换为字符串。您可以找到解决方案here,基本上您从Place类中获取所有字段,找到以&#34; TYPE&#34;开头的所有字段,获取int值并将其与您从getPlaceTypes()获得的价值。

答案 1 :(得分:1)

即使这是一则旧文章,如果您遇到此问题,它也会为您提供帮助, 我遇到了这个问题 这是我的方法

 List<Place.Type> types = placeLikelihood.getPlace().getTypes();

要获取所有类型,可以使用foreach循环

    for(Object type:types){
// get all individual type
}