Restringir la búsqueda de Autocompletar a un país en concreto en la API de Google Places para Android

Mi objetivo es restringir los resultados de autocompletado de la API de Google Places para Android a un país en particular (Estados Unidos).

Estoy usando la siguiente API:

PendingResult<AutocompletePredictionBuffer> results = Places.GeoDataApi .getAutocompletePredictions(mGoogleApiClient, constraint.toString(), mBounds, mPlaceFilter); 

Parece que LatLngBounds debe hacer este trabajo.

  1. En caso afirmativo, ¿cuáles son los valores de LatLngBounds para Estados Unidos?

  2. ¿Qué fuente utilizó para obtener LatLngBounds para un país?

  3. LatLngBounds es un rectange – por lo que puede incluir otros países en el resultado también. ¿Qué hay de eso?

  4. Hay una mejor manera de hacerlo?

3 Solutions collect form web for “Restringir la búsqueda de Autocompletar a un país en concreto en la API de Google Places para Android”

A partir de Google Play Services v9.6, ahora puede configurar un filtro de país para las sugerencias de autocompletado. Asegúrate de que la versión de Play Services sea al menos de v9.6

 AutocompleteFilter autocompleteFilter = new AutocompleteFilter.Builder() .setTypeFilter(Place.TYPE_COUNTRY) .setCountry("US") .build(); Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_FULLSCREEN) .setFilter(autocompleteFilter) .build(this); 

Puede cambiar los códigos de país utilizando sus códigos ISO 'Aplha 2'

La definición del método constructor de LatLngBounds se ve como a continuación:

 LatLngBounds (LatLng southwest, LatLng northeast) 

Es decir, toma dos valores LatLng uno para la ubicación suroeste del límite y otro es la ubicación del noreste del límite y los otros dos puntos del rectángulo se calculan trivialmente.

 If yes, then what are the values of LatLngBounds for United States? 

Mi conjetura áspera si no estoy equivocado, los valores LatLng del sudoeste serían 32.6393, -117.004304 y los valores LatLng del noreste serían 44.901184, -67.32254 para los EEUU.

 Which source did you use to get LatLngBounds for a country? 

En general, uso http://www.findlatitudeandlongitude.com/ para comprobar los valores LatLng poniendo marcador en las ubicaciones requeridas.

 LatLngBounds is a rectange - so it can include other countries in the result as well. What about that? 

Sí, usted está correcto los límites anteriores sería puramente rectángulo y no es posible restringir los resultados a sólo EE.UU. utilizando estos límites.
Esto se debe a que el rectángulo [límites] se calcularía utilizando dos puntos Latlng [SE & NW] que proporcionamos al constructor y otros dos puntos se calcularían trivialmente.

 Is there a better way to do it? 

Sí, puedes usar la API de Google Places Web Service. El tutorial explica cómo usar la API.
http://codetheory.in/google-place-api-autocomplete-service-in-android-application/

Puede utilizar los tipos de dirección y los componentes de direcciones para restringir los resultados utilizando esta API de la manera que desea: https://developers.google.com/maps/documentation/geocoding/intro#Types

Usted puede restringir por país, región y varios otros tipos usando los tipos mencionados en el enlace.

¡¡Espero eso ayude!!

PS: Si alguien pudiera responder cómo restringir el uso de Bounds en Play Services API a un país en particular, sería realmente genial !!

Si está utilizando PlaceAutocompleteFragment , puede configurarlo de la siguiente manera:

 AutocompleteFilter autocompleteFilter = new AutocompleteFilter.Builder() .setTypeFilter(Place.TYPE_COUNTRY) .setCountry("US") .build(); mAutocompleteFragment.setFilter(autocompleteFilter); 
  • Android agrega a las ubicaciones de los usuarios (Google maps)
  • Android: Autocompletar de Google Places - ¿Cómo puedo usarlo para rellenar un RecyclerView en lugar de un menú desplegable?
  • Lista de lugares cerrados sin utilizar un objeto de mapa en android
  • Autocompletado de la API de Google Places: REQUEST_DENIED
  • API de Google Places en Android: API_KEY para usuarios individuales
  • Rendimiento de clase de URL - Invalid_Request with next_page_token
  • GoogleApiClient no está configurado para utilizar la API necesaria para esta llamada
  • Cómo obtener una imagen de un lugar de google maps o lugares API
  • Cómo filtrar los resultados del selector de lugares por PlaceType?
  • Google Places api AutocompletePrediction prediction.getDescription () MissingDespués de actualizar a Play services a 9.4.0
  • Uso de la API de Google Places en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.