Markierung

Öffentliche finale Klasse Marker erweitert Objekt

Ein Symbol, das an einem bestimmten Punkt auf der Kartenoberfläche platziert wird. Markierungen werden am Gerätebildschirm ausgerichtet und nicht an der Kartenoberfläche. Das heißt, die Ausrichtung ändert sich nicht unbedingt durch Drehungen, Neigen oder Zoomen der Karte.

Eine Markierung hat folgende Eigenschaften:

Alpha
Hiermit wird die Deckkraft der Markierung festgelegt. Die Standardeinstellung ist „1.0“.
Anchor
Der Punkt auf dem Bild, der an der Position LatLng der Markierung platziert wird. Die Standardeinstellung ist 50% vom linken Rand des Bildes und vom unteren Rand des Bildes.
Position
Der Wert LatLng für die Position der Markierung auf der Karte. Sie können diesen Wert jederzeit ändern, wenn Sie die Markierung verschieben möchten.
Titel
Ein Textstring, der in einem Infofenster erscheint, wenn der Nutzer auf die Markierung tippt. Sie können diesen Wert jederzeit ändern.
Snippet
Zusätzlicher Text, der unterhalb des Titels erscheint Sie können diesen Wert jedoch jederzeit ändern.
Icon
Eine Bitmap, die für die Markierung angezeigt wird. Ist das Symbol nicht konfiguriert, wird ein Standardsymbol angezeigt. Mit defaultMarker(float) können Sie eine alternative Farbe für das Standardsymbol festlegen.
Ziehstatus
Wenn Sie zulassen möchten, dass Nutzer die Markierung ziehen können, legen Sie diese Eigenschaft auf true fest. Sie können diesen Wert jederzeit ändern. Der Standardwert ist false.
Sichtbarkeit
Standardmäßig ist die Markierung sichtbar. Um die Markierung unsichtbar zu machen, setzen Sie diese Eigenschaft auf false. Sie können diesen Wert jedoch jederzeit ändern.
Flat oder Billboard
Wenn die Markierung flach auf der Karte anliegt, bleibt sie beim Drehen und Neigen der Kamera an der Karte verankert. Im Gegensatz zu GroundOverlay-Objekten behält sie ihre Größe beim Zoomen der Kamera bei. Handelt es sich bei der Markierung um eine Reklametafel, wird sie immer in Richtung Kamera gezeichnet und mit der Kamera gedreht und geneigt. Die Standardeinstellung ist eine Billboard-Anzeige (false)
Rotation
Die Drehung der Markierung in Grad im Uhrzeigersinn um ihren Ankerpunkt. Die Rotationsachse ist senkrecht zur Markierung. Eine Drehung 0 entspricht der Standardposition der Markierung. Wenn die Markierung flach auf der Karte aufliegt, ist sie standardmäßig nach Norden ausgerichtet und so gedreht, dass sie immer flach auf der Karte bleibt. Wenn die Markierung eine Billboard-Anzeige ist, zeigt sie nach oben und ist so gedreht, dass sie immer der Kamera gegenüberliegt. Der Standardwert ist 0.
zIndex
Die Zeichenreihenfolge für die Markierung. Die Markierungen werden in der Reihenfolge des zIndex gezeichnet, wobei die höchste zIndex-Markierung ganz oben steht. Durch Festlegen der zIndex-Eigenschaft für jede Markierung können Sie steuern, auf welches Tippziel der Nutzer am wahrscheinlichsten trifft. Der Standardwert ist 0.
Taggen
Ein Object, das mit der Markierung verknüpft ist. Beispielsweise kann Object Daten darüber enthalten, was die Markierung darstellt. Dies ist einfacher als das Speichern einer separaten Map<Marker, Object>. Als weiteres Beispiel können Sie eine String-ID verknüpfen, die der ID aus einem Dataset entspricht. Das Google Maps SDK for Android liest oder schreibt diese Property weder.

Methoden in dieser Klasse müssen im Android-UI-Thread aufgerufen werden. Andernfalls wird zur Laufzeit ein IllegalStateException ausgegeben.

Beispiel

GoogleMap map = ... // get a map.
 // Add a marker at San Francisco.
 Marker marker = map.addMarker(new MarkerOptions()
     .position(new LatLng(37.7750, 122.4183))
     .title("San Francisco")
     .snippet("Population: 776733"));
 

Entwicklerleitfaden

Weitere Informationen finden Sie im Entwicklerleitfaden für Markierungen.

Zusammenfassung für geschachtelte Klassen

@Interface Marker.CollisionBehavior Gibt an, wie mit einer Markierung verfahren wird, wenn sie in Konflikt mit anderen Markierungen oder Basiskartenlabels steht. 

Public Method Summary

boolean
ist gleich(Sonstiges Objekt)
Testet, ob diese Marker einem anderen entspricht.
float
getAlpha()
Ruft den Alphawert der Markierung ab.
String
getId()
Ruft die ID dieser Markierung ab.
LatLng
getPosition()
Gibt die Position der Markierung zurück.
float
getRotation()
Ruft die Rotation der Markierung ab.
String
getSnippet()
Ruft das Snippet der Markierung ab.
Objekt
getTag()
Ruft das Tag für die Markierung ab.
String
getTitle()
Ruft den Titel der Markierung ab.
float
getZIndex()
Gibt den zIndex der Markierung zurück.
int
void
hideInfoWindow()
Blendet das Infofenster aus, wenn es von dieser Markierung angezeigt wird.
boolean
isDraggable()
Ruft die Ziehbarkeit der Markierung ab.
boolean
isFlat()
Ruft die flache Einstellung der Markierung ab.
boolean
isInfoWindowShown()
Gibt zurück, ob das Infofenster derzeit über dieser Markierung angezeigt wird.
boolean
isVisible()
Ruft die Sichtbarkeitseinstellung dieser Markierung ab.
void
remove()
Entfernt diese Markierung aus der Karte.
void
setAlpha(Gleitkommazahl Alpha)
Legt den Alphawert (Deckkraft) der Markierung fest.
void
setAnchor(float anchorU, float anchorV)
Legt den Ankerpunkt für die Markierung fest.
void
setDraggable(boolesch ziehbar)
Legt die Ziehbarkeit der Markierung fest.
void
setFlat(boolescher Flat)
Legt fest, ob die Markierung flach auf der Karte true oder einer Billboard-Anzeige in Richtung Kamera-false anliegen soll.
void
setIcon(BitmapDescriptor iconDescriptor)
Legt das Symbol für die Markierung fest.
void
setInfoWindowAnchor(float anchorU, float anchorV)
Gibt den Punkt im Markierungsbild an, an dem das Infofenster bei der Anzeige verankert werden soll.
void
setPosition(LatLng latlng)
Legt die Position der Markierung fest.
void
setRotation(Gleitkomma-Rotation)
Legt die Drehung der Markierung in Grad im Uhrzeigersinn um ihren Ankerpunkt fest.
void
setSnippet(String-Snippet)
Legt das Snippet der Markierung fest.
void
setTag(Objekt-Tag)
Legt das Tag für die Markierung fest.
void
setTitle(Stringtitel)
Legt den Titel der Markierung fest.
void
setVisible(boolesch sichtbar)
Legt die Sichtbarkeit dieser Markierung fest.
void
setZIndex(Gleitkommazahl zIndex)
Legt den zIndex der Markierung fest.
void
showInfoWindow()
Zeigt das Infofenster dieser Markierung auf der Karte an, wenn die Markierung isVisible() ist.

Inherited Method Summary

Public Methods

public boolesch ist gleich (Objekt anderes)

Testet, ob diese Marker einem anderen entspricht.

Parameter
Weitere ein Object.
Rückgaben
  • true, wenn beide Objekte dasselbe Objekt sind, d. h. diese == other.

public float getAlpha ()

Ruft den Alphawert der Markierung ab.

Rückgaben
  • Der Alphawert der Markierung im Bereich [0, 1].

public String getId ()

Ruft die ID dieser Markierung ab. Die ID ist unter allen Markierungen auf einer Karte eindeutig.

Rückgaben
  • die ID dieser Markierung.

public LatLng getPosition ()

Gibt die Position der Markierung zurück.

Rückgaben
  • Ein LatLng-Objekt, das die aktuelle Position der Markierung angibt.

public float getRotation ()

Ruft die Rotation der Markierung ab.

Rückgaben
  • die Drehung der Markierung in Grad im Uhrzeigersinn von der Standardposition aus.

public String getSnippet ()

Ruft das Snippet der Markierung ab.

Rückgaben
  • Ein String, der das Snippet der Markierung enthält.

public Objekt getTag ()

Ruft das Tag für die Markierung ab.

Rückgaben
  • das Tag, wenn ein Tag mit setTag festgelegt wurde; null, wenn kein Tag festgelegt wurde.

public String getTitle ()

Ruft den Titel der Markierung ab.

Rückgaben
  • Ein String mit dem Titel der Markierung.

public float getZIndex ()

Gibt den zIndex der Markierung zurück.

Rückgaben
  • zIndex dieser Markierung.

public int hashCode ()

public void hideInfoWindow ()

Blendet das Infofenster aus, wenn es von dieser Markierung angezeigt wird.

Diese Methode hat keine Auswirkungen, wenn diese Markierung nicht sichtbar ist.

public boolesch isDraggable ()

Ruft die Ziehbarkeit der Markierung ab. Wenn eine Markierung ziehbar ist, kann sie vom Nutzer durch langes Drücken auf die Markierung verschoben werden.

Rückgaben
  • true, wenn die Markierung ziehbar ist. Andernfalls wird false zurückgegeben.

public boolean isFlat ()

Ruft die flache Einstellung der Markierung ab.

Rückgaben
  • true, wenn die Markierung flach auf der Karte anliegt; false, wenn sie zur Kamera zeigen soll.

public boolean isInfoWindowShown ()

Gibt zurück, ob das Infofenster derzeit über dieser Markierung angezeigt wird. Dabei wird nicht berücksichtigt, ob das Infofenster auch wirklich auf dem Bildschirm sichtbar ist.

public boolesch isVisible ()

Ruft die Sichtbarkeitseinstellung dieser Markierung ab. Das bedeutet nicht, dass sich die Markierung innerhalb des Darstellungsbereichs des Bildschirms befindet. Damit wird angegeben, ob die Markierung gezeichnet wird, wenn sie sich im Darstellungsbereich des Bildschirms befindet.

Rückgaben
  • der Sichtbarkeit dieser Markierung.

public void entfernen ()

Entfernt diese Markierung aus der Karte. Nachdem eine Markierung entfernt wurde, ist das Verhalten aller ihrer Methoden nicht mehr definiert.

public void setAlpha (Float Alpha)

Legt den Alphawert (Deckkraft) der Markierung fest. Dies ist ein Wert zwischen 0 und 1, wobei 0 bedeutet, dass die Markierung vollständig transparent ist, und 1, dass sie vollständig undurchsichtig ist.

Parameter
Alpha

public void setAnchor (float anchorU, float anchorV)

Legt den Ankerpunkt für die Markierung fest.

Der Anker gibt den Punkt im Symbolbild an, der an der Position der Markierung auf der Erdoberfläche verankert ist.

Der Ankerpunkt wird im durchgehenden Abstand [0,0, 1,0] x [0,0, 1,0] angegeben, wobei (0, 0) die linke obere Ecke des Bildes und (1, 1) die untere rechte Ecke ist. Der Verankerungspunkt in einem W-x-H-Bild ist der nächste diskrete Rasterpunkt in einem (W + 1) x (H + 1)-Raster. Er wird durch Skalierung der anschließenden Rundung ermittelt. In einem 4 × 2-Bild wird der Ankerpunkt (0, 7, 0, 6) beispielsweise zum Rasterpunkt bei (3, 1) aufgelöst.

 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----+-----+
 |     |     |   X |     |   (U, V) = (0.7, 0.6)
 |     |     |     |     |
 *-----+-----+-----+-----*
 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----X-----+   (X, Y) = (3, 1)
 |     |     |     |     |
 |     |     |     |     |
 *-----+-----+-----+-----*
 

Parameter
anchorU u-Koordinate des Ankers als Verhältnis der Bildbreite (im Bereich [0, 1]).
anchorV v-Koordinate des Ankers als Verhältnis der Bildhöhe (im Bereich [0, 1]).

public void setDraggable (boolean draggable)

Legt die Ziehbarkeit der Markierung fest. Wenn eine Markierung ziehbar ist, kann sie vom Nutzer durch langes Drücken auf die Markierung verschoben werden.

Parameter
ziehbar

public void setFlat (boolesch Flat)

Legt fest, ob die Markierung flach auf der Karte true oder einer Billboard-Anzeige in Richtung Kamera-false anliegen soll.

Parameter
auf dem gleichen Level

public void setIcon (BitmapDescriptor iconDescriptor)

Legt das Symbol für die Markierung fest.

Parameter
iconDescriptor Ist null, wird die Standardmarkierung verwendet.

public void setInfoWindowAnchor (float anchorU, float anchorV)

Gibt den Punkt im Markierungsbild an, an dem das Infofenster bei der Anzeige verankert werden soll. Sie wird im selben Koordinatensystem angegeben wie der Anker. Unter setAnchor(float, float) finden Sie weitere Informationen. Standardmäßig wird die obere Mitte des Bilds angezeigt.

Parameter
anchorU u-Koordinate des Infofensterankers als Verhältnis der Bildbreite (im Bereich [0, 1]).
anchorV v-Koordinate des Infofensterankers als Verhältnis der Bildhöhe (im Bereich [0, 1]).

public void setPosition (LatLng latlng)

Legt die Position der Markierung fest.

Parameter
LatLng

public void setRotation (Float-Rotation)

Legt die Drehung der Markierung in Grad im Uhrzeigersinn um ihren Ankerpunkt fest. Die Rotationsachse ist senkrecht zur Markierung. Eine Drehung 0 entspricht der Standardposition der Markierung.

Parameter
Drehung

public void setSnippet (String snippet)

Legt das Snippet der Markierung fest.

Parameter
Snippet Ist null, wird das Snippet gelöscht.

public void setTag (Objekt-Tag)

Legt das Tag für die Markierung fest.

Du kannst diese Eigenschaft verwenden, um eine beliebige Object mit dieser Markierung zu verknüpfen. Beispielsweise kann Object Daten darüber enthalten, was die Markierung darstellt. Dies ist einfacher als das Speichern einer separaten Map<Marker, Object>. Als weiteres Beispiel kannst du eine String-ID verknüpfen, die der ID aus einem Dataset entspricht. Das Google Maps SDK for Android liest oder schreibt diese Property weder. Sie sind dafür verantwortlich, setTag(null) aufzurufen, um das Tag zu löschen, wenn Sie es nicht mehr benötigen, um Speicherlecks in Ihrer App zu vermeiden.

Parameter
Tag Ist null, wird das Tag gelöscht.

public void setTitle (String title)

Legt den Titel der Markierung fest.

Parameter
title Wenn null, wird der Titel gelöscht.

public void setVisible (boolean visible)

Legt die Sichtbarkeit dieser Markierung fest. Wenn false festgelegt ist und derzeit ein Infofenster für diese Markierung angezeigt wird, wird das Infofenster ausgeblendet.

Parameter
sichtbar

public void setZIndex (Gleitkomma zIndex)

Legt den zIndex der Markierung fest.

Parameter
zIndex

public void showInfoWindow ()

Zeigt das Infofenster dieser Markierung auf der Karte an, wenn die Markierung isVisible() ist.

Löst aus
IllegalArgumentException marker ist nicht auf dieser Karte