Sto convertendo una vecchia applicazione da v1 a v2 e sto riscontrando un problema con il colore delle icone dell'indicatore. Ho un'icona bianca di base e deve essere colorata.Conversione di un drawable in bitmap per modificare il colore di un marker nell'API Android di Google Maps v2
In v1, l'ho fatto in questo modo:
Drawable d = DrawableUtils.resizeImageToDrawable(
MapViewFragment.mapviewActivity,
Configuration.Display.getDrawableFix(i),
Configuration.MapView.getWaypointIconWidth(),
Configuration.MapView.getWaypointIconHeight());
d.setColorFilter(color, Mode.MULTIPLY);
overlay = new MyFplnFixListItimizedOverlay(d);
Dal Marcatori v2 non accettano drawable per le loro icone, ho pensato di convertire il Drawable a una bitmap, come questo:
Drawable d = DrawableUtils.resizeImageToDrawable(
MapViewFragment.mapviewActivity,
Configuration.Display.getDrawableFix(i),
Configuration.MapView.getWaypointIconWidth(),
Configuration.MapView.getWaypointIconHeight());
d.setColorFilter(color, Mode.MULTIPLY);
Bitmap icon = ((BitmapDrawable) d).getBitmap();
Marker marker = MapViewFragment.map.addMarker(new MarkerOptions()
.position(point)
.title(Integer.toString(fplnType))
.visible(true)
.icon(BitmapDescriptorFactory.fromBitmap(icon)));
Ma per qualche motivo, non funziona. Le icone rimangono bianche. Qualcuno sa perché?
Grazie in anticipo.
Grazie per aver condiviso. Hai dovuto gestire OutOfMemoryExceptions? – sealskej