其他分享
首页 > 其他分享> > android-如何为Google Places API的getAutocompletePredictions()方法提供合理的默认范围?

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

作者:互联网

我正在使用这种方法:

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

它需要一个带有东北和西南LatLng点的LatLntBounds对象作为查询的范围,但是我不想提供任何对象.

尝试使用null,但得到了null指针异常
尝试过:

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

但出现IllegalArgumentException:南部纬度超过北部纬度(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);

标签:google-places-api,android
来源: https://codeday.me/bug/20191027/1948225.html