공부를 위해 포스팅 된 글이므로, 부정확한 정보를 포함하고 있음을 감안하고 읽어주시기 바랍니다.

 

GoogleMapApi에서 CustomInfoWindow를 구현 하는데 Glide에서 가져온 이미지가 마커를 두번 클릭해야

이미지가 보여지는 버그를 발견했다. 이것저것 찾아본 결과, Glide에서 이미지를 가져오는 속도가 느려서

발생한 것일수도 있다고 생각해서 Glide에서 이미지를 가져오는 부분을 수정하니 잘 작동했다.

 Glide.with(context).
                load(SAMPLEURL + mapDataItem.getPLACE_IMAGE())
                .override(350,350)
                .diskCacheStrategy(DiskCacheStrategy.ALL)
                .thumbnail(0.1f)
                .centerCrop()
                .listener(new RequestListener<Drawable>() {
                    @Override
                    public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
                        return false;
                    }

                    @Override
                    public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {

                        if (marker.isInfoWindowShown()) {
                            marker.hideInfoWindow();
                            marker.showInfoWindow();
                        }
                        return false;
                    }
                })
                .into(image);

        return view;
    }

비슷한 버그에 고생하는 사람이 줄었으면!!

+ Recent posts