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 istfalse
. - 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 kannObject
Daten darüber enthalten, was die Markierung darstellt. Dies ist einfacher als das Speichern einer separatenMap<Marker, Object>
. Als weiteres Beispiel können Sie eineString
-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 |
hashCode()
|
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 | |
void |
setInfoWindowAnchor(float anchorU, float anchorV)
Gibt den Punkt im Markierungsbild an, an dem das Infofenster bei der Anzeige verankert werden soll.
|
void | |
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)
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 wirdfalse
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 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
|
---|