Konwertuję starą aplikację z wersji 1 na 2 i mam problem z kolorem ikon znaczników. Mam podstawową, białą ikonę i trzeba ją pokolorować.Konwertowanie rysowanego na bitmapę w celu zmiany koloru znacznika w Google Maps Android API v2
W v1, zrobiłem to w ten sposób:
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);
Od v2 Markery nie akceptują kanału alfa dla ich ikony, myślałem o przekształcenie rozciągliwej do bitmapy tak:
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)));
Ale z jakiegoś powodu nie działa. Ikony pozostają białe. Ktoś wie dlaczego?
Z góry dziękuję.
Dzięki za udostępnienie. Czy musiałeś obsłużyć OutOfMemoryExceptions? – sealskej