SetFocus (overlayItem) de ItemizedOverlay no funciona

Estoy trabajando en la aplicación android y puedo mostrar múltiples iconos en el mapa usando ItemizedOverlay y también he implementado método onTap (indexación) de ItemizedOverlay para mostrar información específica del icono en una ventana requerida.

Ahora, quiero cambiar el icono de la superposición seleccionada cuando el usuario haga clic en algún otro coponente. Estoy llamando setFocus (OverlayItem) método de ItemizedOverlay para mostrar el icono diferente de superposición específica. Funciona bien cuando el usuario pulsa en cualquier superposición específica pero no cambia el icono cuando llamo setFocus (OverlayItem) método.

¿Algún puntero? ¿Cuál es la mejor forma de cambiar de forma programática el icono de la superposición seleccionada en mapView?

He overriden el método de getMarker de mi clase de encargo de OverlayItem para exhibir diversos marcadores para el diverso estado de overlayItem. Y quiero usar el método setFocus (OverlayItem) para cambiar el estado de OverlayItem y también cambiar el marcador cuando se selecciona.

@Override public Drawable getMarker(int stateBitset){ if(stateBitset==0){ icon = Util.getCategoryMapIcon(0); icon.setBounds(0-icon.getIntrinsicWidth()/2, 0-icon.getIntrinsicHeight(), icon.getIntrinsicWidth()/2, 0); return icon; }else { icon = Util.getCategoryMapIcon(OverlayItem.ITEM_STATE_SELECTED_MASK); icon.setBounds(0-icon.getIntrinsicWidth()/2, 0-icon.getIntrinsicHeight(), icon.getIntrinsicWidth()/2, 0); return icon; } } 

Aquí Util.getCategoryMapIcon (0) es el método Utility para devolver el icono apropiado, este método toma algunos parámetros, que he eliminado para que este ejemplo parezca simple.

Y debajo es código para cambiar el estado

 Button leftNavigation = (Button) findViewById(R.id.left_navigation_button); leftNavigation.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { OverlayItem item = searchResultsOverlay.get(index+1); setFocus(item); } }); 

Cualquier ayuda será muy apreciada. Gracias, Aamir

One Solution collect form web for “SetFocus (overlayItem) de ItemizedOverlay no funciona”

En su código getMarker , intente devolver un StateListDrawable (que corresponde a <selector> en XML desplegable) que contiene un drawable predeterminado (sin estados) y un drawable con el estado android.R.attr.state_focused .

Vea una pregunta relacionada aquí: Selector de ListView de Android Color

  • Convertir la ubicación en GeoPoint
  • Android: Cuando el teclado aparece, el diseño es invisible. ¿Cómo puedo solucionar esto?
  • Mapas de Android NullPointerException ItemizedOverlay
  • Android: Combina dos vistas de imagen superpuestas en un bmp con la posición correcta
  • ¿Cómo superponer el color del texto del elemento de la lista en una región específica?
  • Android Map Rendimiento pobre debido a muchas superposiciones?
  • Google Maps Android API v2 Superposición de rutas
  • Comportamiento extraño de superposición al ampliar el MapView
  • Emular el botón Atrás con superposición en Android
  • El desplazamiento y el zoom de MapView es lento después de agregar muchas superposiciones
  • La importación com.android.internal.R no se puede resolver
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.