In diesem Szenario möchte ich ein Bitmap in Google Maps mit gms v2
zeichnen und jedes Benutzerpositionsupdate erzwingt Bitmap-Update. Derzeit verwende ich folgenden Code-Schnipsel:Bitmap neu zeichnen in Google Maps v2 für Android
public void init(){
result = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
canvas = new Canvas(result);
}
public void update(){
// draw on canvas ...
draw(result);
}
public void draw(Bitmap modifiedBmp) {
if (overlay != null) {
overlay.remove();
}
BitmapDescriptor descriptor = BitmapDescriptorFactory.fromBitmap(modifiedBmp);
overlay = map.addGroundOverlay(new GroundOverlayOptions().image(descriptor).positionFromBounds(bounds).zIndex(100));
}
Die update()
Methode wird jede Sekunde aufgerufen. Ich finde diesen Ansatz äußerst ineffizient und suche nach einer besseren Lösung (d. H., Dass nach jedem Update kein Overlay hinzugefügt/entfernt werden muss). Das Zeichnen von Primitiven auf Karten mit addPolygon(...)
und addPolyline(...)
ist keine Option, da ich Zeichenfunktionen benötige, die in der Standard-API nicht vorhanden sind.