Apps für Android programmieren leicht gemacht!
Maps Api - Markierung setzen

Maps Api – Markierung setzen

In einem vorangegangenem Artikel haben wir geklärt, wie wir eine Google Maps Karte in unsere App integrieren. Fortsetzend wollen wir hier eine Markierung (einen Marker) auf unsere Karte setzen.

Die Markierung kann an einen beliebigen Ort auf der Karte platziert werden und behält seine Größe beim Zoomen bei.

 

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 Markierung setzen.
Wir haben mehrere Anpassungsmöglichkeiten. Sobald wir nämlich einen Titel und/oder eine Unterüberschrift definiert haben, werden diese Informationen angezeigt. Selbstverständlich werden die Texte nur angezeigt, wenn wir auf einen gesetzten Marker klicken. Klicken wir auf einen beliebigen Platz auf der karte, so verschwinden die Texte wieder.

// Eine Markierung erstellen.
MarkerOptions mo = new MarkerOptions();

// Die Position der Markierung definieren.
mo.position(new LatLng( [Latitude] , [Longitude] ));

// Eine Überschrift für die Markierung definieren.
mo.title("Überschrift");

// Eine Unterüberschrift für die Markierung definieren.
mo.snippet("Unterüberschrift");

// Die Markierung auf der Karte platzieren.
gMap.addMarker(mo);

 

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