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?

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); 
  • Cómo configurar el texto del cuadro de diálogo de google api en el idioma predeterminado de la aplicación
  • ¿Cómo obtener resultados específicos del país en la API de Google Places para AutocompletePredictions en Android?
  • PlaceAutocomplete tiene código de estado desconocido: 9000
  • Se rechazó la solicitud de API de Google Places para el autocompletado de Android, incluso con la clave de api correcta
  • Filtrar los resultados de autocompletar de Google Places por país
  • Restringir usuario en google place api en 5 km área dada ubicación lat lng
  • No se puede seleccionar Lugar con selector de sitios Android
  • La API de Google Places para selector de sitios de Android no funciona
  • API de Google Places en Android: API_KEY para usuarios individuales
  • ¿Cómo obtener todos los grandes almacenes presentes en una ciudad en Android con google lugares?
  • Android: ¿por qué google lugares api volver lugares en otros países, incluso cuando los límites es de 500 metros?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.