我正在使用带有 android-maps-utils 0.3.4 的 Google Map SDK 7.3.0,因为我需要为地图上的标记使用集群。
好的,所以这里的问题是,我不应该有一个红色标记。只有绿色+蓝色标记。我进行了子类化DefaultClusterRenderer
以创建我的自定义标记视图,但有时它不起作用。
我正在使用 picasso 来获取绿色图标,因为它来自 API。但问题是,当毕加索加载位图时为时已晚,图标已经设置为默认值(红色)。
这是我的 onBeforeClusterItemRenderer :
Picasso.with(getApplicationContext()).load(item.url).into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
FrameLayout icon = (FrameLayout) LayoutInflater.from(getApplicationContext()).inflate(R.layout.marker, null);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
icon.findViewById(R.id.bg).setBackground(new BitmapDrawable(getResources(), bitmap));
} else {
icon.findViewById(R.id.bg).setBackgroundDrawable(new BitmapDrawable(getResources(), bitmap));
}
Bitmap b = createDrawableFromView(Home.this, icon);
if (marker != null) {
marker.icon(BitmapDescriptorFactory.fromBitmap(b));
}
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
});