Ich möchte ein dynamisches Bild im Infofenster anzeigen. Ich kann schon die Bilder von meinem Webservice bekommen, aber nur das letzte Bild, das in meinen db-Shows gespeichert ist, zu allen Markern, die ich in meine Google Map eingefügt habe. Wie füge ich jedes Bild einzeln zu jedem Marker hinzu?Dynamisches Bild in InfoWinow zu jedem Marker in Android Java anzeigen
Hier ist mein Code:
for (int i = 0; i < json.length(); i++) {
e = json.getJSONObject(i);
LatLng Location = new LatLng(e.getDouble("latitude"), e.getDouble("longitude"));
byte[] decodedByteSmallBitmap = Base64.decode(e.getString("foto"), Base64.DEFAULT);
final Bitmap smallBitmap = BitmapFactory.decodeByteArray(decodedByteSmallBitmap , 0, decodedByteSmallBitmap .length);
byte[] decodedByteBigBitmap= Base64.decode(e.getString("foto_grande"), Base64.DEFAULT);
final Bitmap bigBitmap = BitmapFactory.decodeByteArray(decodedByteBigBitmap, 0, decodedByteBigBitmap.length);
markerOptions = createMarker();
// Setting click event handler for InfoWIndow
mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
// Remove the marker
marker.remove();
}
});
mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker arg0) {
return null;
}
@Override
public View getInfoContents(Marker marker) {
LinearLayout info = new LinearLayout(MainActivity.this);
info.setOrientation(LinearLayout.VERTICAL);
TextView title = new TextView(MainActivity.this);
title.setTextColor(Color.BLACK);
title.setGravity(Gravity.CENTER);
title.setTypeface(null, Typeface.BOLD);
title.setText(marker.getTitle());
image = new ImageView(MainActivity.this);
image.setImageBitmap(bigBitmap);
TextView snippet = new TextView(MainActivity.this);
snippet.setTextColor(Color.GRAY);
snippet.setText(marker.getSnippet());
info.addView(title);
info.addView(snippet);
info.addView(image);
return info;
}
});
}