¿Cómo obtener resultados específicos del país en la API de Google Places para AutocompletePredictions en Android?

Quiero obtener resultados de búsqueda para un país específico. He intentado establecer Latitude y Longitude, pero puede incluir los resultados de otros países cerca de Country required!

He visto otras preguntas que sugieren pasar &components=country:COUNTRY_NAME en la URL de la solicitud (lo he visto aquí ). Pero quiero pasar la solicitud de la API de Google Places.

Estoy usando el siguiente método:

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

Pero no pude encontrar ninguna forma de pasar un nombre de país para obtener resultados para el país específico. (He intentado el nombre de país de paso en la URL de la petición y está trabajando.) Pero cómo alcanzar el mismo usando el método de Places.GeoDataApi.getAutocompletePredictions() ?

¿O hay alguna otra manera de lograrlo sin enviar el nombre del país en la URL de solicitud?

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

La colección de tipos (regions) ordena al servicio Lugares que devuelva cualquier resultado que coincida con los siguientes tipos:

  • localidad
  • Sublocalidad
  • código postal
  • país
  • Administrative_area_level_1
  • Administrative_area_level_2

La colección de tipos (regiones) no se admite en la API de Google Places para Android.

Referencia de: Guía Oficial de Google Place Types .

Si desea implementar esto,

  • Use los límites LatLng con el área específica de su país especificada por latitud y longitud para restringir los resultados.

  • También puede utilizar el servicio Web de Google Places.

Ejemplo: Para restringir su país a través de Web Service, mostrando los resultados del país India.

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

Nota: si desea aplicar el filtro de country a la API de Google Places, desafortunadamente debe utilizar WebService a partir de ahora no hay Filtro / Método disponible en la API de Android para restringir por país (excluyendo LatLng Bounds).

Con javascript puedes usar las restricciones de Component como debajo del código, intenta reescribir para Android:

 var options = { // bounds : boundsByCity, types: ["geocode"], componentRestrictions: { country: "IN" } }; //Create the search box and link it to the UI element var input = document.getElementById('pac-input'); var temp = new google.maps.places.Autocomplete(input, options); 

Hay 2 maneras de hacerlo.

  1. Use los límites latLng para que su país restrinja los resultados (pero esto sería rectangulares, por lo que la restricción sería aproximada).

2 Debe utilizar el api del servicio web. Funciona con android también.

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 desee:

https://developers.google.com/maps/documentation/geocoding/intro#Types

  • Restringir resultados de autocompletar por setBoundsBias
  • ¿Cómo logro una animación suave del marcador de ubicación en android en un mapa de google?
  • Problema al eliminar el elemento de clustermanager
  • ¿Cuál es la mejor manera de soportar apis de Google Maps (v1 y v2)?
  • La API de Google Maps para Android no funciona con debug.keystore
  • Como llegar "Bus Service No" usando google api
  • El marcador de Google Maps desaparece después de hacer zoom en android
  • Android - No se pudo encontrar el estilo 'mapViewStyle' en el tema actual
  • Android Google Map marcador título en árabe mostrando en blanco
  • Google Maps V2 Android funciona como fragmento, pero muestra pantalla en blanco (con control de zoom) como fragmento de niño
  • Agregar objeto 3D para asignar y desplazar alrededor de él
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.