android - 如何为 Google Places API get AutocompletePrediction() 方法提供合理的默认范围?

标签 android google-places-api

我正在使用这个方法:

Places.GeoDataApi.getAutocompletePredictions(googleApiClient, query, bounds, AutocompleteFilter.create(null))

它需要一个包含东北和西南 LatLng 点的 LatLntBounds 对象作为查询的边界,但我不想提供任何对象。

尝试了null,但是得到了一个空指针异常 尝试过:

LatLng southWest = new LatLng(85, -180);
LatLng northEast = new LatLng(-85, 180);
LatLngBounds bounds = new LatLngBounds(southWest, northEast);

但是得到了 IllegalArgumentException: southern latitude exceeds northern latitude (85.0 > -85.0)

那么我该如何:

a) 获取当前用户位置的合理范围

b) 获取世界边界

这样我就可以启动这个 API

最佳答案

它需要边界才能工作。只需创建它们即可。

import com.google.maps.android.SphericalUtil;

final double HEADING_NORTH_EAST = 45;
final double HEADING_SOUTH_WEST = 215;
final double diagonalBoundsSize = 1000; // 1km

LatLng centre = new LatLng(85, -180);

LatLng northEast = SphericalUtil.computeOffset(centre, diagonalBoundsSize / 2, HEADING_NORTH_EAST);
LatLng southWest = SphericalUtil.computeOffset(centre, diagonalBoundsSize / 2, HEADING_SOUTH_WEST);
LatLngBounds bounds = new LatLngBounds(southWest, northEast);

关于android - 如何为 Google Places API get AutocompletePrediction() 方法提供合理的默认范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32455391/

相关文章:

android - Google Places API 在 recyclerview 上显示照片

Android - 适用于 Android 的最新开源 3D 库

android - 更新Android studio和SDK后onLayout错误

c# - 如何将客户的 IP 地址转发到 Google Places Autocomplete API

java - 在 Google Places API 中将自动完成搜索限制为 "India"

android - 将地点自动完成 TextView 限制为仅城市

android - Android 上的图表引擎

java - Double.parseDouble 如何使我的应用程序崩溃?

android - 在键盘上方显示整个多行 EditText。不只是写一行