当前位置: 首页 > 知识库问答 >
问题:

如何使用位置偏置(附近)GeoDataApi.get自动完成预测?

盛跃
2023-03-14

我正在通过Places使用GoogleAppClient和Places API。GeoDataApi。getAutocompletePredictions()获取地址/地点自动完成建议(https://developers.google.com/places/android/autocomplete). 该方法需要一个GoogleAppClient对象、一个自动完成的字符串和一个LatLngBounds对象来限制搜索范围。这就是我的用法:

PendingResult<AutocompletePredictionBuffer> results =
    Places.GeoDataApi.getAutocompletePredictions(googleApiClient, constraint.toString(), bounds, filter);

根据文档,需要边界参数。但是当我看到webservice版本时(https://developers.google.com/places/webservice/autocomplete#location_biasing)我看到了更多可以使用的参数,包括位置偏差的位置和半径。

有没有可能对get自动完成预测()方法做同样的事情,或者我必须编写自己的代码来点击网络服务,提供api键,并解析响应?使用GeoDataApi似乎很方便,因为它处理了很多细节,但是我还没有找到一个好方法来轻松地以一种智能的方式限制它的搜索范围。看起来这是一个相当常见的场景,所以一定有一些广泛接受的模式或解决方案,我只是还没有找到。

共有1个答案

韦业
2023-03-14

目前,GeoDataApi似乎有点有限。如果你选择离开Google Play服务,你可以看看Sprocket for Android library(我是开发者),它为Google Places API提供了完整的Java接口(请参阅Sprocket for Java)。链轮还包括一个GooglePlaceAutoComplete小部件、GooglePlacesLoader和GooglePlacesAdapter,以防它们对您有用。

 类似资料:
  • 问题内容: 我正在编写一个脚本,其中将业务量以纬度和经度加载到mySQL数据库中。然后,我向该脚本提供一个(最终用户的)经度纬度,并且该脚本必须计算从提供的经度/经度到它从数据库中获得的条目的EACH的距离,并按从最远到最远的顺序对其进行排序。 实际上,我实际上只需要大约10或20个“最近”的结果,但是除了从数据库中获取所有结果并对每个结果运行函数然后进行数组排序之外,我什么也想不做。 这是我已经

  • 我正在尝试使用Mapbox进行Android活动(在Java)。我使用Mapbox插件的搜索结果目前在国际上显示自动完成建议,我不知道如何将这些结果限制在用户的邻近范围内(例如:50英里)。 我目前的实现基本上是Mapbox为这个例子提供的所有代码:https://docs.mapbox.com/android/plugins/examples/global-location-search/ 我想

  • 这有点奇怪,我遵循Google places API为我的android应用程序添加了自动完成功能。谷歌为Android自动完成放置API请求拒绝,即使使用正确的API键。我甚至尝试与JSON客户机进行检查,并请求GET/POST仍然是相同的错误,因为我确信我的代码遵循了相应的google api自动完成集成。我还没有找到解决错误的任何解决方案。一些答案建议删除带有place_id的传感器。我不知

  • 我有如下结构的数据库。如何在5公里内location_id。有纬度和经度的数字已经在数据库表中。请参阅我的数据库结构图像。 以下是数据库结构图像: 我已经从这个链接搜索如何找到最近的位置使用纬度和经度从sql数据库?我不明白密码。 SELECT id,(3959*acos(cos(弧度(37))*cos(弧度(lat ) ) * cos(弧度(lng)-弧度(-122))sin(弧度(37))*s

  • 我试图通过使用谷歌地图的api来获取我发送的位置的附近位置。下面是url(https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362 日志e(“Res”,response.body()。getStatus()); 我是不是用正确的方式进行改造? 我的客户。爪哇: Near

  • 问题内容: 我正在尝试在Google地图的左上角显示a ,以告知用户距特定标记点位置的x距离,即“您靠近位置A”,但仅显示if在范围内。如果它们超出范围,则将消失。 我了解Google Places API会向您显示所有附近的位置,但是我只想显示用户在地图上具有x距离的标记在附近的位置。 我该如何实现?我仍然需要使用Google Places API吗? 我的课程.java: map.xml 有人