Ich könnte ein bisschen spät sein, aber ich werde eine Lösung für andere, die ein ähnliches Problem konfrontiert haben/stellen konfrontiert. Was Sie also tun müssen (zumindest für die Lösung, die Sie suchen, d. H. Ein benutzerdefiniertes Bild, das einem kastenartigen Hintergrund aufgezwungen wird), setzen Sie das customImage mit Hilfe eines Canvas auf die Hintergrund-Box. Mit dieser Implementierung können Sie effektiv ein BitmapDrawable aus dem Canvas erstellen, das Sie dann als Marker für Ihre 'Overlay'/'ItemizedOverlay' zuweisen können. Bitte erstellen Sie auch keine ImageView für jedes Overlay, da dies Ihren Speicher/Ihre App zerstören würde, wenn Sie tausende solcher ImageViews gleichzeitig bearbeiten müssen. Verwenden Sie stattdessen BitmapDrawables, die während ihrer Erstellung den Overlays zugewiesen werden können und nicht zu wenig Speicher als ImageView verbrauchen.
public BitmapDrawable imageOnDrawable(int drawableBackground, Bitmap customImage)
{
//The following line is optional but I'd advise you to minimize the size of
//the size of the bitmap (using a thumbnail) in order to improve draw
//performance of the overlays (especially if you are creating a lot of overlays).
Bitmap customImageThumbnail = ThumbnailUtils.extractThumbnail(
customImage, 100, 100);
Bitmap bm = BitmapFactory.decodeResource(getResources(), drawableId);
bm = Bitmap.createScaledBitmap(bm, 112, 120, false);
Canvas canvas = new Canvas(bm);
canvas.drawBitmap(bm, 0, 0, null);
// The 6,6 in the below line refer to the offset of the customImage/Thumbnail
// from the top-left corner of the background box (or whatever you want to use
// as your background)
canvas.drawBitmap(customImageThumbnail, 6, 6, null);
return new BitmapDrawable(bm);
}
Ich wurde in diese Suche und jetzt versuche ich mal sehen zu implementieren ... – Akram
mapview-baloon seine andere Sache – Akram
Es ermöglicht Ihnen, unabhängig von 'View' (einschließlich kundenspezifischer' ImageView') aufzublasen . Aber nicht ** statt ** von 'Drawable', sondern eher darüber (aber du kannst immer transparentes Drawable verwenden). Und ich denke, es sollte nicht so schwer sein, es zu hacken, also zeigt es nicht aufTap, sondern immer. –