Я пытаюсь загрузить изображение в свой CircleImageView из пользовательского макета маркера, который я сделал. Я попытался использовать glide или picasso, но ни один из них не работает, он только показывает изображение маркера. Может ли кто-нибудь помочь мне с этим. Я застрял около 4 часов в этом и до сих пор не могу найти, что было причиной этого.
place2 = new MarkerOptions()
.position(storeLatLng)
.icon(BitmapDescriptorFactory.fromBitmap(createCustomMarker(CheckOutActivity.this , storeIMG, storeName))).title(storeClass);
...
private static Bitmap createCustomMarker(Context context, final String resource, String name) {
View marker = ((LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.bitmap_google_marker_layout_item, null);
de.hdodenhof.circleimageview.CircleImageView image = (de.hdodenhof.circleimageview.CircleImageView) marker.findViewById(R.id.user_dp);
TextView txt_name = (TextView) marker.findViewById(R.id.name);
txt_name.setText(name);
//Glide.with(marker).load(resource).apply(new RequestOptions().placeholder(R.mipmap.loader)).into(image);
Picasso.get()
.load(resource)
.placeholder(R.mipmap.loader)
.error(R.drawable.error)
.into(image);
DisplayMetrics displayMetrics = new DisplayMetrics();
((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
marker.setLayoutParams(new ViewGroup.LayoutParams(52, ViewGroup.LayoutParams.WRAP_CONTENT));
marker.measure(displayMetrics.widthPixels, displayMetrics.heightPixels);
marker.layout(0, 0, displayMetrics.widthPixels, displayMetrics.heightPixels);
marker.buildDrawingCache();
Bitmap bitmap = Bitmap.createBitmap(marker.getMeasuredWidth(), marker.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
marker.draw(canvas);
return bitmap;
}
Вот пример изображения результата