¿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.
- Cómo cambiar el idioma Google Map V2 android
- Dibujo libremente por los dedos en Google Map
- Se muestra Google Maps Android sólo pantalla en blanco
- Usar la API de Google Maps de Google para mostrar una capa de Mapa de Calor
- Para incrustar google map para la aplicación de Android
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?
- Android + cargador universal de imágenes: muestra marcador personalizado con imagen en google map
- Problema al eliminar el elemento de clustermanager
- Ocultar infoWindow cuando se hace clic en el marcador por segunda vez (Google Map Android API V2)
- Marcadores de clúster superpuestos por el icono de ubicación actual del usuario en Android
- (MapView y 1700 elementos de superposición) .equals ("Slow")
- Cómo obtener coordenadas de una dirección en android
- Adición de un botón a una vista personalizada de InfoWindowAdapter que puede registrar clics
- BadParcelableException en el código de google maps
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.
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.
- 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
- La vista no se puede anclar al CoordinatorLayout principal
- Obtener dinámicamente todos los id de recursos de imagen en una matriz