아래와 같은 코드로 서버 이미지 url을 불러와서 맵에 마커이미지를 표시하고있습니다.
그런데 마커 이미지가 뒤죽박죽이거나 중복된 다른 이미지가 마커이미지로 표시되고있습니다.
어떤 원인인지 알 수 있을까요?
m_idx = 0;
for (int i = 0; i < list.size(); i++) {
Glide.with(m_context).load(list.get(i).img_url).asBitmap().centerCrop().into(new SimpleTarget(100,100) {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) {
if m_idx < list.size()) {
final MapPOIItem marker = new MapPOIItem();
marker.setItemName("");
marker.setTagm_idx
marker.setMapPoint(MapPoint.mapPointWithGeoCoord(list.get(m_idx ).lat,list.get(m_idx ).lng));
marker.setMarkerType(MapPOIItem.MarkerType.CustomImage);
Bitmap circleData = getCroppedBitmap(resource);
marker.setCustomImageBitmap(circleData);
marker.setShowCalloutBalloonOnTouch(false);
m_app.m_mapView.addPOIItem(marker);
m_idx ++;
}
}
});
}
public Bitmap getCroppedBitmap(Bitmap bitmap) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawCircle(bitmap.getWidth() / 2, bitmap.getHeight() / 2,
bitmap.getWidth() / 2, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}