Ein Symbol, das an einem bestimmten Punkt auf der Oberfläche der Karte platziert wird. Ein Markierungssymbol wird am Bildschirm des Geräts ausgerichtet und nicht an der Oberfläche der Karte. Es ändert sich also nicht zwingend aufgrund von Kartendrehungen, -neigung oder -zoom.
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
LatLng
-Position der Markierung platziert wird. Der Standardwert ist 50% vom linken Rand und unten im Bild. - 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
- 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 unter dem Titel angezeigt wird. Sie können diesen Wert jedoch jederzeit ändern.
- Icon
- Eine Bitmap, die für die Markierung angezeigt wird Wenn das Symbol nicht festgelegt ist, wird ein Standardsymbol angezeigt. Mit
defaultMarker(float)
kannst du eine alternative Farbe für das Standardsymbol festlegen. - Drag-Status
- Wenn du dem Nutzer erlauben möchtest, die Markierung zu ziehen, setze diese Eigenschaft auf
true
. Sie können diesen Wert jederzeit ändern. Der Standardwert istfalse
. - Sichtbarkeit
- Standardmäßig ist die Markierung sichtbar. Setze diese Property auf
false
, um die Markierung unsichtbar zu machen. Sie können diesen Wert jedoch jederzeit ändern. - Flach oder Billboard
- Wenn die Markierung flach an der Karte anliegt, bleibt sie beim Drehen und Neigen der Karte auf der Karte hängen, hat aber immer noch dieselbe Größe, wie die Kamera zoomt – anders als bei
GroundOverlay
. Handelt es sich bei der Markierung um eine Plakatwand, wird diese zur Kamera gezeichnet, um sich zu drehen und mit der Kamera zu neigen. Der Standardwert ist eine Plakatwand (false
) - Rotation
- Die Drehung in Grad im Uhrzeigersinn um den Ankerpunkt der Markierung. Die Rotationsachse ist senkrecht zur Markierung. Eine Drehung von 0 entspricht der Standardposition der Markierung. Wenn die Markierung flach auf der Karte aufliegt, ist die Standardposition Norden ausgerichtet und die Rotation ist so festgelegt, dass die Markierung immer flach auf der Karte bleibt. Wenn die Markierung eine Plakatwand ist, zeigt sie nach oben und ist so gedreht, dass sie immer der Kamera gegenüberliegt. Der Standardwert ist 0.
- Z-Index
- Die Zeichenreihenfolge für die Markierung. Die Markierungen werden in der Reihenfolge des zIndex gezeichnet, wobei die höchste zIndex-Markierung oben erscheint. Durch Festlegen der zIndex-Property für jede Markierung kannst du steuern, welches Tippziel dein Nutzer am ehesten erreicht. Der Standardwert ist 0.
- Tag
- Eine
Object
, die mit der Markierung verknüpft ist. Beispielsweise kannObject
Daten zur Darstellung der Markierung enthalten. Dies ist einfacher als das Speichern einer separatenMap<Marker, Object>
. Ein weiteres Beispiel ist eineString
-ID, 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. Wenn nicht, wird IllegalStateException
zur Laufzeit geworfen.
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 findest du im Entwicklerleitfaden Markers.
Nested Class Summary
@Schnittstelle | Markierung.KollisionVerhalten | Gibt an, wie mit einer Markierung umgegangen wird, wenn sie mit anderen Markierungen oder Basiskartenlabels in Konflikt steht. |
Public Method Summary
boolean |
ist gleich(anderes Objekt)
Testet, ob dieses
Marker einem anderen entspricht. |
float |
getAlpha()
Ruft das Alpha der Markierung ab.
|
String |
getId()
Ruft diese ID 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.
|
Object |
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()
|
Ungültig |
hideInfoWindow()
Verbirgt das Infofenster, wenn es von dieser Markierung angezeigt wird.
|
boolean |
isDraggable()
Ruft die Ziehbarkeit der Markierung ab.
|
boolean |
isFlat()
Ruft die flache Einstellung des Markers ab.
|
boolean |
isInfoWindowShown()
Gibt an, ob das Infofenster derzeit über dieser Markierung angezeigt wird.
|
boolean |
isVisible()
Ruft die Sichtbarkeitseinstellung dieser Markierung ab.
|
Ungültig |
remove()
Entfernt diese Markierung von der Karte.
|
Ungültig |
setAlpha(Gleitkomma-Alpha)
Legt den Alphawert (Deckkraft) der Markierung fest.
|
Ungültig |
setAnchor(floater AnchorU, float AnchorV)
Legt den Ankerpunkt für die Markierung fest.
|
Ungültig |
setDraggable(boolesch verschiebbar)
Legt die Ziehbarkeit der Markierung fest.
|
Ungültig |
setFlat(boolesche Ebene)
Legt fest, ob diese Markierung flach auf der Karte
true oder auf einer Plakatwand auf der Kamera false liegen soll. |
Ungültig | |
Ungültig |
setInfoWindowAnchor(floater anchorU, float anchorV)
Gibt den Punkt im Markierungsbild an, an dem das Infofenster verankert werden soll, wenn es eingeblendet wird.
|
Ungültig | |
Ungültig |
setRotation(Gleitkommazahl-Rotation)
Legt die Drehung der Markierung in Grad im Uhrzeigersinn um den Ankerpunkt der Markierung fest.
|
Ungültig |
setSnippet(String-Snippet)
Legt das Snippet der Markierung fest.
|
Ungültig |
setTag(Objekt-Tag)
Legt das Tag für die Markierung fest.
|
Ungültig |
setTitle(Stringtitel)
Legt den Titel der Markierung fest.
|
Ungültig |
setVisible(boolesch sichtbar)
Legt die Sichtbarkeit dieser Markierung fest.
|
Ungültig |
setZIndex(Gleitkommazahl zIndex)
Legt den zIndex der Markierung fest.
|
Ungültig |
showInfoWindow()
Das Infofenster dieser Markierung wird angezeigt, wenn die Markierung
isVisible() ist. |
Inherited Method Summary
Public Methods
Öffentlich boolesch ist gleich (Objekt Sonstiges)
öffentlichen Gleitkomma getAlpha ()
Ruft das Alpha der Markierung ab.
Rückgabe:
- Alpha der Markierung im Bereich [0, 1].
public String getId ()
Ruft diese ID ab. Die ID ist unter allen Markierungen auf einer Karte eindeutig.
Rückgabe:
- ID dieser Markierung
public eCPM getPosition ()
Gibt die Position der Markierung zurück.
Rückgabe:
- Ein
LatLng
-Objekt, das die aktuelle Position der Markierung angibt.
public float getRotation ()
Ruft die Rotation der Markierung ab.
Rückgabe:
- die Drehung der Markierung in Grad im Uhrzeigersinn von der Standardposition aus.
öffentlicher String getSnippet ()
Ruft das Snippet der Markierung ab.
Rückgabe:
- Ein String mit dem Snippet der Markierung.
public Object getTag ()
Ruft das Tag für die Markierung ab.
Rückgabe:
- 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ückgabe:
- Ein String mit dem Titel der Markierung.
öffentlichen Gleitkomma getZIndex ()
Gibt den zIndex der Markierung zurück.
Rückgabe:
- zIndex dieser Markierung.
public int HashCode ()
public void hideInfoWindow ()
Verbirgt das Infofenster, wenn es von dieser Markierung angezeigt wird.
Diese Methode hat keine Auswirkungen, wenn diese Markierung nicht sichtbar ist.
Öffentlich boolesch isDraggable ()
Ruft die Ziehbarkeit der Markierung ab. Wenn eine Markierung dragbar ist, kann sie vom Nutzer bewegt werden, indem sie lange auf die Markierung drückt.
Rückgabe:
true
, wenn die Markierung dragbar ist; andernfalls wirdfalse
zurückgegeben.
Öffentlich boolesch isFlat ()
Ruft die flache Einstellung des Markers ab.
Rückgabe:
true
, wenn die Markierung flach auf der Karte liegt;false
, wenn die Markierung auf die Kamera ausgerichtet sein soll.
Öffentlich boolesch isInfoWindowShown ()
Gibt an, ob das Infofenster derzeit über dieser Markierung angezeigt wird. Dabei wird nicht berücksichtigt, ob das Infofenster tatsächlich auf dem Bildschirm sichtbar ist.
Öffentlich boolesch isVisible ()
Ruft die Sichtbarkeitseinstellung dieser Markierung ab. Dies gibt nicht an, ob sich die Markierung im Darstellungsbereich des Bildschirms befindet. Gibt an, ob die Markierung gezeichnet wird, wenn sie im Darstellungsbereich des Bildschirms enthalten ist.
Rückgabe:
- dieser Markierung.
öffentlich void entfernen ()
Entfernt diese Markierung von 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 von 0 bis 1, wobei 0 bedeutet, dass die Markierung vollständig transparent ist, und 1, dass die Markierung 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 mit der Position der Markierung auf der Erde verankert ist.
Der Ankerpunkt ist im kontinuierlichen Bereich [0.0, 1.0] x [0.0, 1.0] angegeben, wobei (0, 0) die linke obere Ecke des Bildes und (1, 1) die rechte untere Ecke ist. Der Ankerpunkt in einem Bild im Format B x H ist der nächstgelegene Rasterpunkt in einem Raster (W + 1) x (H + 1). Er wird durch Skalieren und anschließendes Runden ermittelt. In einem 4 x 2-Bild wird beispielsweise der Ankerpunkt (0, 7, 0, 6) in den Rasterpunkt (3, 1) aufgelöst.
*-----+-----+-----+-----* | | | | | | | | | | +-----+-----+-----+-----+ | | | X | | (U, V) = (0.7, 0.6) | | | | | *-----+-----+-----+-----* *-----+-----+-----+-----* | | | | | | | | | | +-----+-----+-----X-----+ (X, Y) = (3, 1) | | | | | | | | | | *-----+-----+-----+-----*
Parameter
Anchor U | u-Koordinate des Ankers als Verhältnis der Bildbreite (im Bereich [0, 1]). |
---|---|
Anchor V | v-Koordinate des Ankers als Verhältnis der Bildhöhe (im Bereich [0, 1]) |
public void setDraggable (boolesch dragbar)
Legt die Ziehbarkeit der Markierung fest. Wenn eine Markierung dragbar ist, kann sie vom Nutzer bewegt werden, indem sie lange auf die Markierung drückt.
Parameter
ziehbar |
---|
public void setFlat (Boolescher Flach)
Legt fest, ob diese Markierung flach auf der Karte true
oder auf einer Plakatwand auf der Kamera false
liegen soll.
Parameter
unverändert |
---|
public void setIcon (BitmapDescriptor iconDescriptor)
Legt das Symbol für die Markierung fest.
Parameter
SymbolDescriptor | Bei null wird die Standardmarkierung verwendet. |
---|
public void setInfoWindowAnchor (float anchorU, float anchorV)
Gibt den Punkt im Markierungsbild an, an dem das Infofenster verankert werden soll, wenn es eingeblendet wird. Diese wird im selben Koordinatensystem wie der Anker angegeben. Unter setAnchor(float, float)
finden Sie weitere Informationen. Die Standardeinstellung ist die obere Mitte des Bilds.
Parameter
Anchor U | u-Koordinate des Ankers im Infofenster als Verhältnis der Bildbreite (im Bereich [0, 1]). |
---|---|
Anchor V | v-Koordinate des Ankers für das Infofenster als Verhältnis der Bildhöhe (im Bereich [0, 1]) |
public void setRotation (Gleitkommazahl-Rotation)
Legt die Drehung der Markierung in Grad im Uhrzeigersinn um den Ankerpunkt der Markierung fest. Die Rotationsachse ist senkrecht zur Markierung. Eine Drehung von 0 entspricht der Standardposition der Markierung.
Parameter
Rotation |
---|
public void setSnippet (String-Snippet)
Legt das Snippet der Markierung fest.
Parameter
Snippet | Bei null wird das Snippet gelöscht. |
---|
public void setTag (Objekt-Tag)
Legt das Tag für die Markierung fest.
Mit dieser Eigenschaft kannst du eine beliebige Object
mit dieser Markierung verknüpfen. Beispielsweise kann Object
Daten zur Darstellung der Markierung enthalten. Dies ist einfacher als das Speichern einer separaten Map<Marker, Object>
. Ein weiteres Beispiel: Du kannst eine String
-ID der ID aus einem Datensatz zuordnen. Diese Property wird vom Google Maps SDK for Android weder gelesen noch geschrieben. Sie sind dafür verantwortlich, setTag(null)
aufzurufen und das Tag zu löschen, wenn Sie es nicht mehr benötigen, um Speicherlecks in Ihrer App zu vermeiden.
Parameter
Tag | bei null wird das Tag gelöscht. |
---|
public void setTitle (String title)
Legt den Titel der Markierung fest.
Parameter
title | Bei null wird der Titel gelöscht. |
---|
public void setVisible (boolesch sichtbar)
Legt die Sichtbarkeit dieser Markierung fest. Wenn false
festgelegt ist und für diese Markierung derzeit ein Infofenster angezeigt wird, wird das Infofenster ausgeblendet.
Parameter
sichtbar |
---|
public void setZIndex (float zIndex)
Legt den zIndex der Markierung fest.
Parameter
Z-Index |
---|
public void showInfoWindow ()
Das Infofenster dieser Markierung wird angezeigt, wenn die Markierung isVisible()
ist.
Throws
IllegalArgumentException | marker ist nicht auf dieser Karte
|
---|