Dynamiczne treści w Mapach V2 InfoWindow

Chcę pokazać InfoWindow na znacznikach w fragmencie mapy V2. Chodzi o to, że chcę pokazać BitMapy, które są dynamicznie ładowane z sieci za pomocąUniversal Image Downloader.

To jest mój InfoWindowAdapter:

class MyInfoWindowAdapter implements InfoWindowAdapter {

    private final View v;

    MyInfoWindowAdapter() {
        v = getLayoutInflater().inflate(R.layout.infowindow_map,
                null);
    }

    @Override
    public View getInfoContents(Marker marker) {



        Item i = items.get(marker.getId());

        TextView tv1 = (TextView) v.findViewById(R.id.textView1);
        ImageView iv = (ImageView) v.findViewById(R.id.imageView1);
        tv1.setText(i.getTitle());


        DisplayImageOptions options = new DisplayImageOptions.Builder()
                .delayBeforeLoading(5000).build();

        imageLoader.getMemoryCache(); 

        imageLoader.displayImage(i.getThumbnailUrl(), iv, options,
                new ImageLoadingListener() {

                    @Override
                    public void onLoadingStarted(String imageUri, View view) {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public void onLoadingFailed(String imageUri, View view,
                            FailReason failReason) {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public void onLoadingComplete(String imageUri,
                            View view, Bitmap loadedImage) {
                        Log.d("MAP", "Image loaded " + imageUri);

                    }

                    @Override
                    public void onLoadingCancelled(String imageUri,
                            View view) {
                        // TODO Auto-generated method stub

                    }
    });

        return v;
    }

    @Override
    public View getInfoWindow(Marker marker) {
        // TODO Auto-generated method stub
        return null;
    }

}

Mam z tym 2 problemy:

Jak mywiedzieć InfoWindow jest rysowany i późniejsze zmiany (w moim przypadku noweBitMap naImageView) nie są wyświetlane / theInfoWindow nie jest aktualizowany. Jak mogę „powiadomić” InfoWindow o ponownym załadowaniu, gdyimageLoader skończyłeś? Kiedy położyłem

marker.showInfoWindow()

wonLoadingComplete stworzył nieskończoną pętlę, w której pojawi się znacznik, rozpocznie ładowanie obrazu, pojawi się itp.

Moim drugim problemem jest to, że na wolnym połączeniu sieciowym (symulowanym z opóźnieniem 5000 ms w kodzie)ImageView wInfoWindow zawsze wyświetla ostatni załadowany obraz, niezależnie od tego, czy ten obraz należy do tegoImageWindow/ Marker.

Wszelkie sugestie na temat tego, jak dobrze to wdrożyć?

questionAnswers(4)

yourAnswerToTheQuestion