使用RxJava将图像加载到Google地图setInfoWindowAdapter中

时间:2017-03-30 16:27:42

标签: android google-maps bitmap android-imageview rx-java

您好我有一个imageview,它使用在谷歌地图内使用Single获得的位图图像设置其图像,但不幸的是图像将无法加载。我读了一些使用毕加索回调功能的解决方案但是对于这个函数我只是使用常规的Imageview.setImageBitmap。我试图隐藏并显示标记,但我没有运气。谢谢你的帮助!

JAVA:

@Override
public void onMapReady(final GoogleMap googleMap) {


 ......

this.googleMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {

.....

        @Override
        public View getInfoContents(final Marker marker) {

final ImageView imageView = (ImageView) view.findViewById(R.id.image);

Single<Bitmap> imageSingle = getImageWithURL(url);
    

        imageSingle.subscribeOn(Schedulers.io())

    
        .observeOn(AndroidSchedulers.mainThread())
    

        .subscribe(new SingleSubscriber<Bitmap>() {
    

    @Override
    

    public void onSuccess(Bitmap image) {
    

        Log.e(TAG, "" + image.getWidth());
    

        Log.e(TAG, images.size() + "");
    

        imageView.setImageBitmap(image); //this line doesnt work
    

        Log.e(TAG, "Sucess");
    
        
    
    }
    
    

    @Override
    

    public void onError(Throwable error) {
    

        Log.e(“Image”, error.tostring())
    

    }
    
});

}

1 个答案:

答案 0 :(得分:0)

经过大量挖掘后我才弄明白这个问题!问题是标记加载并将视图转换为图像,并且由于我的Single在转换后添加了图像,因此不会显示。要解决这个问题,你需要做的就是先加载图像,然后在标记内部调用imageview.set函数。希望这有助于任何有这个问题的人!

相关问题