我正在使用Google Maps Android API实用程序库,并且我正在从互联网上下载一些我想要用作标记的特定图像。 我的做法类似于以下代码片段:
class MarkerItemClusterRenderer extends DefaultClusterRenderer<MarkerItem> {
...
@Override
protected void onBeforeClusterItemRendered(MarkerItem item,
final MarkerOptions markerOptions) {
super.onBeforeClusterItemRendered(item, markerOptions);
mImageLoader.get(item.getImageUrl(), new ImageListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.i("XXX", error.toString());
}
@Override
public void onResponse(ImageContainer response, boolean isImmediate) {
if (response != null && response.getBitmap() != null) {
mImageIcon.setImageBitmap(response.getBitmap());
Bitmap icon = mIconGenerator.makeIcon();
Bitmap bhalfsize = Bitmap.createScaledBitmap(icon, 150,
150, false);
markerOptions.icon(BitmapDescriptorFactory
.fromBitmap(bhalfsize));
}
}
});
}
问题在于,当图像被下载后,地图(和标记)不会刷新,因此大多数情况下(但并不总是),我仍然会看到红色的默认标记。
我尝试了 mImageIcon.invalidate(); mImageIcon.requestLayout();
但还是没有成功。
有没有任何方法可以解决这个问题呢? 非常感谢提前。