Cómo cargar la imagen de la URL de carga de perezosos en Google Maps

Estoy usando google maps utilidad código de demostración de biblioteca, y el cambio de utilizar Picasso para la carga de la imagen.

Mi pregunta es como sigue la captura.

Picasso no puede cargar la imagen y usar la imagen de marcador de posición

Picasso no puede cargar la imagen y usar la imagen de marcador de posición

Después de acercar y alejar, el marcador de actualización. Puede cargar la imagen

Después de acercar y alejar, el marcador de actualización. Puede cargar la imagen.

Mi pregunta es la misma con este Google Map V2 Lazy carga de la imagen del marcador Pero no puedo obtener ayuda de la respuesta, me quedo atrapado en Bitmap bitmap = thumbCache.get(url); También intento la devolución de llamada de OnSuccess de Picasso, pero también consigo chupar en ella.

¿Cómo actualizar el icono del fabricante cuando se termina la imagen de la URL de descarga? Puedo usar otra biblioteca de cargador de imágenes URL.

 /** * Draws profile photos inside markers (using IconGenerator). * When there are multiple people in the cluster, draw multiple photos (using MultiDrawable). */ private class PersonRenderer extends DefaultClusterRenderer<Person> { private final IconGenerator mIconGenerator = new IconGenerator(getApplicationContext()); private final IconGenerator mClusterIconGenerator = new IconGenerator(getApplicationContext()); private final ImageView mImageView; private final ImageView mClusterImageView; private final int mDimension; public PersonRenderer() { super(getApplicationContext(), getMap(), mClusterManager); View multiProfile = getLayoutInflater().inflate(R.layout.multi_profile, null); mClusterIconGenerator.setContentView(multiProfile); mClusterImageView = (ImageView) multiProfile.findViewById(R.id.image); mImageView = new ImageView(getApplicationContext()); mDimension = (int) getResources().getDimension(R.dimen.custom_profile_image); mImageView.setLayoutParams(new ViewGroup.LayoutParams(mDimension, mDimension)); int padding = (int) getResources().getDimension(R.dimen.custom_profile_padding); mImageView.setPadding(padding, padding, padding, padding); mIconGenerator.setContentView(mImageView); } @Override protected void onBeforeClusterItemRendered(Person person, MarkerOptions markerOptions) { // Draw a single person. // Set the info window to show their name. Picasso.with(getApplicationContext()) .load(person.profileUrl) .placeholder(R.drawable.ic_launcher) .error(R.drawable.ic_launcher) .resize(64, 64) .centerCrop() .into(mImageView); Bitmap icon = mIconGenerator.makeIcon(); markerOptions.icon(BitmapDescriptorFactory.fromBitmap(icon)).title(person.name); } @Override protected void onBeforeClusterRendered(Cluster<Person> cluster, MarkerOptions markerOptions) { // Draw multiple people. // Note: this method runs on the UI thread. Don't spend too much time in here (like in this example). List<Drawable> profilePhotos = new ArrayList<Drawable>(Math.min(4, cluster.getSize())); int width = mDimension; int height = mDimension; for (Person p : cluster.getItems()) { // Draw 4 at most. if (profilePhotos.size() == 4) break; ImageView cImageView = new ImageView(getBaseContext()); Picasso.with(getApplicationContext()) .load(p.profileUrl) .placeholder(R.drawable.ic_launcher) .error(R.drawable.ic_launcher) .resize(64, 64) .centerCrop() .into(cImageView); Drawable drawable = cImageView.getDrawable(); drawable.setBounds(0, 0, width, height); profilePhotos.add(drawable); } MultiDrawable multiDrawable = new MultiDrawable(profilePhotos); multiDrawable.setBounds(0, 0, width, height); mClusterImageView.setImageDrawable(multiDrawable); Bitmap icon = mClusterIconGenerator.makeIcon(String.valueOf(cluster.getSize())); markerOptions.icon(BitmapDescriptorFactory.fromBitmap(icon)); } 

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.