Estoy trabajando en la aplicación de Android y puedo mostrar varios íconos en el mapa utilizando ItemizedOverlay y también he implementado en el métodoTap (int index) de ItemizedOverlay para mostrar información específica del icono en un ventana requerida.setFocus (overlayItem) de ItemizedOverlay no funciona
Ahora, quiero cambiar el icono de la superposición seleccionada cuando el usuario hace clic en algún otro componente. Estoy llamando al método setFocus (OverlayItem) de ItemizedOverlay para mostrar diferentes iconos de superposición específica. funciona bien cuando el usuario toca en cualquier superposición específica, pero no cambia el icono cuando llamo al método setFocus (OverlayItem).
¿Alguna sugerencia? ¿Cuál es la mejor manera de cambiar programáticamente el icono de la superposición seleccionada en mapView?
He reemplazado el método getMarker de mi clase OverlayItem personalizada para mostrar diferentes marcadores para diferentes estados 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 de línea vuelva icono correspondiente, este método tiene algunos parámetros, que he quitado para hacer este ejemplo parecen simples.
y por debajo es el 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);
}
});
será muy apreciada Cualquier ayuda. Gracias , Aamir
Ha habido suerte con esta respuesta? Siéntase libre de seguir. –
Gracias Roman. Funcionó muy bien. –