我想显示在一个地图V2片段标记信息窗口。 事情是,我想表明,被动态地从与网页加载的位图的通用图像下载 。
这是我的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;
}
}
我有2个问题是:
正如我们知道的InfoWindow
绘制后来到它的变化(在我的情况下,新BitMap
的ImageView
不显示)/的InfoWindow
不被更新。 我怎么能当“通知”信息窗口重新加载自身imageLoader
结束? 当我把
marker.showInfoWindow()
到onLoadingComplete
它创造了一个无限循环标记所在的会弹出,开始加载图像,弹出自己打扮等。
我的第二个问题是一个缓慢的网络连接(与5000毫秒的模拟代码中的延迟),该ImageView
在InfoWindow
会一直显示上次加载的图像,无论如果图像属于该ImageWindow
/ Marker
。
如何propperly任何建议实现这一点?