Markierung

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Öffentliche finale Klasse Marker erweitert Objekt

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 ist false.
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 kann Object Daten zur Darstellung der Markierung enthalten. Dies ist einfacher als das Speichern einer separaten Map<Marker, Object>. Ein weiteres Beispiel ist eine String-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
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
setIcon(BitmapDescriptor-Symboldeskriptor)
Legt das Symbol für die Markierung fest.
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
setPosition(LatLng-Latng)
Legt die Position der Markierung fest.
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)

Testet, ob dieses Marker einem anderen entspricht.

Parameter
Weitere Object.
Rückgabe:
  • "true", wenn beide Objekte dasselbe Objekt sind, also == other.

ö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 wird false 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 setPosition (LatLng latlng)

Legt die Position der Markierung fest.

Parameter
Latng

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