如何在Google Places API中获取适用于Android的AutocompletePredictions的国家/地区特定结果?

Chi*_*hah 8 android google-maps google-places-api

我想获得特定国家/地区的搜索结果.我尝试过设置纬度和经度,但它可能包含其他国家/地区靠近所需国家/地区的结果!

我已经看到了其他一些建议传递&components=country:COUNTRY_NAME请求URL的问题(我在这里看过).但我想通过Google Places API传递请求.

我正在使用以下方法:

Places.GeoDataApi.getAutocompletePredictions(mGoogleApiClient,constraint.toString(),mBounds,mPlaceFilter);

但我找不到任何方法来传递国家名称以获得特定国家的结果.(我已尝试在请求URL中传递国家/地区名称,但它正在运行.)但如何通过使用Places.GeoDataApi.getAutocompletePredictions()方法实现相同的目的?

或者有没有其他方法来实现这一点,而无需在请求URL中发送国家/地区名称?

100*_*rbh 13

AutocompleteFilter typeFilter = new AutocompleteFilter.Builder().
                    setTypeFilter(Place.TYPE_COUNTRY).setCountry("IN").build();

Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_FULLSCREEN)
                            .setFilter(typeFilter)
                            .build(this);
Run Code Online (Sandbox Code Playgroud)

  • setCountry正在工作.只有它需要com.google.android.gms:play-services-places:9.6.1.请访问https://developers.google.com/android/guides/releases (4认同)

Vip*_*sri 5

(regions)类型的集合指示商家信息服务返回任何结果符合以下几种类型:

  • 地区
  • 次地区
  • 邮政编码
  • 国家
  • Administrative_area_level_1
  • Administrative_area_level_2

适用于Android的Google Places API不支持(区域)类型集合

参考来自:Google地方类型的官方指南。

如果要实现这一点,

  • 将LatLng范围与您所在国家/地区的特定纬度和经度一起使用,以限制结果。

  • 您也可以使用Google Places 网络服务

示例:用于通过Web服务限制您的国家/地区,显示国家(地区)的结果。

网址:https : //maps.googleapis.com/maps/api/place/autocomplete/json?key=AIzaSyCkvow9LlFNOywy8lzaekn-xROBZRsSFvU&input=a&types=(city)&components= country: ind

注意: 如果您要将country过滤器应用于Google Places API,那么很遗憾,您必须使用WebService,因为Android API中没有可用的过滤器/方法来限制国家/地区(不包括LatLng界限)。