gpt4 book ai didi

android - Google Maps v2 for Android 中的刷新标记 (ClusterItems)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:12:03 24 4
gpt4 key购买 nike

我正在使用 Google Maps Android API Utility Library我正在从互联网上下载某些我想用作标记的图像。我这样做的方式就像下面的代码 fragment :

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));
}
}
});
}

问题是,当下载图像时, map (以及标记)不会刷新,所以大多数时候(但不总是)我仍然看到红色的默认标记。

我试着做 mImageIcon.invalidate(); mImageIcon.requestLayout(); 但还是不行。

有什么办法可以实现吗?非常感谢。

最佳答案

你只需要在

protected void onClusterItemRendered(T clusterItem, Marker marker) {
...
}

onBeforeClusterItemRendered 中,您在异步回调中的 MarkerOptions 上设置了图标。这时候就可以添加到 map 中,成为真正的Marker了。所以你的图标将被设置为已经无用的对象。

这就是为什么您需要在 onClusterItemRendered

中执行此操作的原因

关于android - Google Maps v2 for Android 中的刷新标记 (ClusterItems),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22610517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com