¿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

  • Cómo obtener límite de velocidad mediante google maps api?
  • Android maps: No se pudo encontrar el estilo 'mapViewStyle' en el tema actual
  • Google Maps v2, desaparecido 'android.support.v4.app.FragmentActivity'
  • Android Google Maps v2: ¿Cómo agregar un marcador con un fragmento de varias líneas?
  • Parsing JSON de los mapas google DistanceMatrix api en android
  • Pantalla azul en Android Google Maps
  • Google Maps no se muestra en el dispositivo Android
  • Creación de un menú de mapa de Android para cambiar el tipo de mapa
  • Obtenga los puntos de latitud y longitud cada 10 metros, entre las dos ubicaciones diferentes en android
  • Google maps api - Firma no válida
  • Android setOnMarkerClickListener establecer título para cada marcador
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.