Wie wird die Implementierung von Überlagerungen in v2 des Android Google Maps-APIs vorgeschlagen?

9

In der ursprünglichen Version des Android Google Maps API war es sehr einfach, ein Overlay mit dem folgenden Code zu implementieren:

%Vor%

... war es dann möglich, die Overlay-Methode draw () zu überschreiben und Vektorgrafiken zu zeichnen, die Overlays der TouchEvent () -Methode zu überschreiben und benutzerdefinierte Steuerelemente usw. zu geben.

Ich bin nicht in der Lage, ähnliche benutzerdefinierte Steuerelemente in v2 zu entwerfen, da der Anwendungsfall für Überlagerungen in der API-Referenz nicht erwähnt wird (und Markierungen und Polygone nicht ausreichen). Hat jemand eine vorgeschlagene Möglichkeit in v2 zu implementieren?

    
gsysko 31.12.2012, 19:48
quelle

1 Antwort

3

Wenn Sie Ihr eigenes Bild auf der Erdoberfläche platzieren müssen, verwenden Sie GroundOverlay. Die Methode addGroundOverlay fügt ein solches Bild hinzu. Es benötigt GroundOverlayOptions , mit denen Sie die URL angeben können Bildgröße und -ort (in lat langen Begriffen) und auch BitmapDescriptor , das neben anderen Optionen die normale Bitmap als Bildquelle verwenden kann . Sie können also ein neues Bitmap erstellen und Canvas um dieses Bitmap herum erstellen und dort malen.

Scheint gut zu sein, wenn Sie etwas wirklich Komplexes zeichnen müssen, etwas für diese Polygone und Markierungen sind nicht ausreichend. Außerdem kann der alte Code, der auf Canvas gezeichnet wird, wahrscheinlich wiederverwendet werden.

Ich habe nicht genug getestet, wie schnell die Karte aktualisiert wird, nachdem wir die Bitmap aktualisiert haben. Im schlimmsten Fall muss das Boden-Overlay möglicherweise entfernt und das neue Boden-Overlay wurde hinzugefügt. Die Bitmap selbst kann wahrscheinlich immer noch wiederverwendet werden.

Das Hinzufügen zusätzlicher Komponenten an der Oberseite kann problematisch sein, da sie das Zoomen unterstützen müssen, sich bewegen und die Karte jetzt sogar 3D ist.

    
h22 01.02.2013, 08:08
quelle