Uso de PlaceFilter para Android con la API de Google Places
Estoy intentando usar la API de Google Places y me gustaría filtrar mi búsqueda solo a tipos de gimnasio.
Estoy utilizando el código que aparece en https://developers.google.com/places/.
- Asociar un objeto con Marker (google map v2)
- Android Maps - el método animateCamera () no funciona correctamente
- ¿Cómo comprobar si un InfoWindow de Google Maps todavía se muestra antes de actualizarlo?
- ¿La API de ubicación de servicios de Google necesita Internet?
- Los azulejos del mapa parpadean entre el terreno y los tipos normales
public void onPickButtonClick(View v) { // Construct an intent for the place picker try { PlacePicker.IntentBuilder intentBuilder = new PlacePicker.IntentBuilder(); Intent intent = intentBuilder.build(this); // Start the intent by requesting a result, // identified by a request code. startActivityForResult(intent, REQUEST_PLACE_PICKER); } catch (GooglePlayServicesRepairableException e) { // ... } catch (GooglePlayServicesNotAvailableException e) { // ... } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_PLACE_PICKER && resultCode == Activity.RESULT_OK) { // The user has selected a place. Extract the name and address. final Place place = PlacePicker.getPlace(data, this); final CharSequence name = place.getName(); final CharSequence address = place.getAddress(); String attributions = PlacePicker.getAttributions(data); if (attributions == null) { attributions = ""; } mViewName.setText(name); mViewAddress.setText(address); mViewAttributions.setText(Html.fromHtml(attributions)); } else { super.onActivityResult(requestCode, resultCode, data); } }
Lo que estaba tratando de hacer era crear un filtro como el de abajo y de alguna manera agregar que (placeFilter) a la intención.
PlacePicker.IntentBuilder intentBuilder = new PlacePicker.IntentBuilder(); PlaceFilter placeFilter; ArrayList<String> restictToGyms = new ArrayList<>(); restictToGyms.add("44"); placeFilter = new PlaceFilter(false, restictToGyms); intent.SOMEHOWADD(placeFilter); Intent intent = intentBuilder.build(this);
Pero no estoy seguro de cómo agregar este filtro a la intención. De hecho, no estoy seguro si esta es la manera correcta de hacerlo. Se apreciarán todos los punteros. ¡Gracias!
- Google google maps agrega al marcador propia etiqueta
- Configuración de un LongClickListener en un marcador de mapa
- Android Google Map V2 Pantalla ¿Mostrar y mostrar sólo el botón de zoom?
- java.lang.ClassCastException: android.support.v4.app.NoSaveStateFrameLayout no se puede convertir en com.google.android.maps.MapView
- Android java.io.IOException: Servicio no disponible
- Proveedor de ubicación fusionado en Android
- Los gráficos de TileProvider se inclinan en niveles de zoom más altos
- Error: (50, 28) Ningún recurso encontrado que coincida con el nombre dado (en 'valor' con el valor '@ string / google_maps_key')
He estado buscando hacer lo mismo. Desafortunadamente no parece posible- el PlaceFilter tiene lugar ids, no tipos. La clase PlaceFilter es definitiva por lo que no se puede ampliar (odio cuando los autores de API hacen que las clases sean finales, casi nunca hay una razón para hacerlo). Debe realizar la llamada y hacer el filtrado a través de un bucle después de que el resultado vuelva.
Consulte esta https://developer.android.com/reference/com/google/android/gms/location/places/Place.html
El gimnasio es Place.TYPE_GYM
- ¿Los emuladores o Genymotion apoyan el ART, el sustituto dalvik?
- Los datos no se guardan en Firebase desde la aplicación para Android