Apps für Android programmieren leicht gemacht!
Maps Api - Formen zeichnen

Maps Api – Formen zeichnen

Das Zeichnen von Formen auf einer Google Maps Api Karte funktioniert recht ähnlich zum Zeichnen von Linien.
Mit dem kleinen aber feinen Unterschied, dass die möglicherweise eingekreiste Fläche noch gefüllt wird. So kann man zum Beispiel Bereiche markieren/kenntlich machen.

 

Callback definieren:

Bevor wir beginnen können bedarf es einer definierten Variable vom Typ „GoogleMap“.
Diese Variable bekommen wir, wenn die Funktion „onMapReady“ aufgerufen wird.
Leider müssen wir erst einmal dahin kommen, dass unsere App diese Funktion aufweist und sie auch aufgerufen wird.

Damit unsere App und auch die Google Maps Api weiß, dass es eine solche Funktion gibt, müssen wir unsere Klasse um ein „implements OnMapReadyCallback“ erweitern.
Dies sieht in meinem Fall so ähnlich aus:

public class MainActivity extends Activity implements OnMapReadyCallback {
    
    @Override
    public onCreate(...){
        [...]
    }

    [...] 

}

 

Wir definieren nun eine globale Variable vom Typ „GoogleMap“.
Schreibt dazu in die Klasse, aber nicht in eine der Methoden:

GoogleMap gMap;

 

Um die Variable beschreiben zu können müssen wir nun die Methode „onMapReady“ erstellen und in dieser die Variable „gMap“ abgreifen und speichern:

@Override
public void onMapReady(GoogleMap map) {
    gMap = map;
}

 

 

Markierung setzen:

Da wir eine initialisierte Variable gMap haben, können wir jetzt eine/mehrere Linie/Linien zeichnen.
Selbstverständlich können wir noch ein paar Anpassungen durchführen. Beispielsweise könnten wir die Farbe der Linie/Linien einstellen oder aber die Linienbreite.

// Erstelle das nötige Objekt, um eine Linie zeichnen zu können.
PolylineOptions linie = new PolylineOptions();

// Definiere 2 Punkte, um eine Linie zwischen ihnen zeichnen zu können.
linie.add(new LatLng(8.35, 50.0));
linie.add(new LatLng(9.45, 50.0));  // Selber Longitude Punkt

// Linie auf Karte zeichnen.
gMap.addPolygon(linie);

Ihr könnt selbstverständlich so viele Punkte zu eurer Linie hinzufügen, wie ihr wollt.
Am Ende werden alle Punkte ihrer Reihenfolge nach mit Linien verbunden.

 

Anpassungen:

Wollen wir die Farbe der Linie verändern, dann können wir nach dem erstellen des Objektes „linie“ schreiben:

linie.color(0xff0B15A0); //Beliebige Farbe, im 32-bit ARGB Format

 

Alternativ oder aber zusätzlich könnten wir vielleicht noch die Dicke der Linie verändern wollen:

linie.width(10F); // Die Standarddicke ist 10. Es muss ein Float übergeben werden.

 

Marvin

Ich bin 23 Jahre jung und studiere zurzeit Wirtschaftsinformatik an der Georg-August-Universität in Göttingen. Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

Kommentar hinzufügen

*Pflichtfeld