Refreshing makers (ClusterItems) in Google Maps v2 for Android -
i'm using google maps android api utility library , i'm downloading images internet want use markers. way i'm doing in following snippet:
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)); } } }); }
the problem is, when image downloaded, map (and marker) doesn't refresh, of times (but not always) still see red default markers.
i tried mimageicon.invalidate(); mimageicon.requestlayout();
there's still no luck.
is there anyway achieve this? lot in advance.
you need make stuff in
protected void onclusteritemrendered(t clusteritem, marker marker) { ... }
in onbeforeclusteritemrendered
set icon on markeroptions
in async callback. @ time added map , become real marker
. icon set useless object.
that's why need in onclusteritemrendered
Comments
Post a Comment