Eine Klasse, die Methoden zum Erstellen von CameraUpdate
-Objekten enthält, die die Kamera einer Karte ändern.
Um die Kamera der Karte zu ändern, rufen Sie animateCamera(CameraUpdate)
, animateCamera(CameraUpdate, GoogleMap.CancelableCallback)
oder moveCamera(CameraUpdate)
mit einem CameraUpdate
-Objekt auf, das mit dieser Klasse erstellt wurde.
Mit dem folgenden Code können Sie beispielsweise eine Karte heranzoomen:
GoogleMap map = ...;
map.animateCamera(CameraUpdateFactory.zoomIn());
Bevor Sie Methoden aus dieser Klasse verwenden, müssen Sie einen der folgenden Schritte ausführen, um sicherzustellen, dass diese Klasse initialisiert wird:
- Warten Sie, bis ein
GoogleMap
von einemMapFragment
oderMapView
verfügbar ist, das Sie Ihrer Anwendung hinzugefügt haben. Sie können die InstanzGoogleMap
abrufen, indem SiegetMapAsync()
aufrufen und auf denonMapReady(GoogleMap map)
-Callback warten. - Rufen Sie einfach
initialize(Context)
an. Solange keinGooglePlayServicesNotAvailableException
ausgelöst wird, wird diese Klasse korrekt initialisiert.
Entwicklerleitfaden
Weitere Informationen findest du im Entwicklerleitfaden Kamera und Ansicht.
Public Method Summary
Statisches CameraUpdate |
newCameraPosition(CameraPosition-Kameraposition)
Gibt einen
CameraUpdate zurück, der die Kamera auf einen angegebenen CameraPosition bewegt. |
Statisches CameraUpdate |
newLatLng(LatLng latLng)
Gibt eine
CameraUpdate zurück, die die Mitte des Bildschirms auf einen Breiten- und Längengrad bewegt, der durch ein LatLng -Objekt angegeben wird. |
Statisches CameraUpdate |
newLatLngBounds(LatLngBounds bounds, int width, int height, int padding)
Gibt einen
CameraUpdate zurück, der die Kamera so umwandelt, dass die angegebenen Breiten-/Längengradgrenzen auf dem Bildschirm innerhalb eines Begrenzungsrahmens mit den angegebenen Abmessungen mit der größtmöglichen Zoomstufe zentriert werden. |
Statisches CameraUpdate |
newLatLngBounds(LatLngBounds bounds, int padding)
Gibt ein
CameraUpdate -Objekt zurück, das die Kamera so transformiert, dass die angegebenen Breiten- und Längengradgrenzwerte auf dem Bildschirm mit der größtmöglichen Zoomstufe zentriert werden. |
Statisches CameraUpdate |
newLatLngZoom(LatLng latLng, float zoom)
Gibt ein
CameraUpdate -Objekt zurück, das die Mitte des Bildschirms auf einen von einem LatLng -Objekt angegebenen Breiten- und Längengrad verschiebt und zum angegebenen Zoomfaktor wechselt. |
Statisches CameraUpdate |
scrollBy(Gleitkommazahl xPixel, Gleitkommazahl yPixel)
Gibt einen
CameraUpdate zurück, der die Kamera über die Karte bewegt und dabei die Mitte der Ansicht um die angegebene Anzahl von Pixeln in x- und y-Richtung verschiebt. |
Statisches CameraUpdate |
zoomBy(Gleitkommazahl, Punktfokus)
Gibt ein
CameraUpdate zurück, das die Zoomstufe des aktuellen Kamerasichtpunkts verschiebt. |
Statisches CameraUpdate |
zoomBy(Gleitkommazahl)
Gibt ein
CameraUpdate zurück, das die Zoomstufe des aktuellen Kamerasichtpunkts verschiebt. |
Statisches CameraUpdate |
zoomIn()
Gibt ein
CameraUpdate -Objekt zurück, das durch Heranzoomen der Karte heranzoomt, indem die Höhe des Blickwinkels näher an die Erdoberfläche verschoben wird. |
Statisches CameraUpdate |
zoomOut()
Gibt eine
CameraUpdate zurück, die herauszoomt, indem die Höhe des Blickwinkels von der Erdoberfläche entfernt wird. |
Statisches CameraUpdate |
zoomTo(Gleitkommazahl)
Gibt einen
CameraUpdate zurück, der den Kamerasichtpunkt auf eine bestimmte Zoomstufe verschiebt. |
Inherited Method Summary
Public Methods
public static CameraUpdate newCameraPosition (CameraPosition Kameraposition)
Gibt einen CameraUpdate
zurück, der die Kamera auf einen angegebenen CameraPosition
bewegt. Dadurch wird eine Transformation anhand des Breiten-, Längengrads, Zoomfaktors, der Peilung und der Neigung des CameraPosition
-Objekts erstellt.
Parameter
Kameraposition |
---|
Rückgabe:
- Ein
CameraUpdate
mit der Transformation.
public static CameraUpdate newLatLng (LatLng latLng)
Gibt eine CameraUpdate
zurück, die die Mitte des Bildschirms auf einen Breiten- und Längengrad bewegt, der durch ein LatLng
-Objekt angegeben wird. Dadurch wird die Kamera auf das Objekt LatLng
zentriert.
Parameter
latLng | Ein LatLng -Objekt, das den gewünschten Breiten- und Längengrad enthält. |
---|
Rückgabe:
- Ein
CameraUpdate
mit der Transformation.
public static CameraUpdate newLatLngBounds (LatLngBounds Grenzen, int Breite, int Höhe, int Abstand)
Gibt einen CameraUpdate
zurück, der die Kamera so umwandelt, dass die angegebenen Breiten-/Längengradgrenzen auf dem Bildschirm innerhalb eines Begrenzungsrahmens mit den angegebenen Abmessungen mit der größtmöglichen Zoomstufe zentriert werden. Sie können einen weiteren Abstand hinzufügen, um die Größe des Begrenzungsrahmens weiter einzuschränken. Die zurückgegebene CameraUpdate
hat eine Lage von 0 und eine Neigung von 0.
Im Gegensatz zu newLatLngBounds(LatLngBounds, int)
kannst du die von dieser Methode zurückgegebene CameraUpdate
verwenden, um die Kamera vor der Layoutphase der Karte zu ändern, da die Argumente die gewünschte Größe des Begrenzungsrahmens angeben.
Parameter
Grenzen | den Bereich, der in den Begrenzungsrahmen passt |
---|---|
width | Breite des Begrenzungsrahmens in Pixeln (px) |
height | Höhe des Begrenzungsrahmens in Pixeln (px) |
padding | Zusätzliche Größenbeschränkung (in Pixeln) des Begrenzungsrahmens |
Rückgabe:
- Ein
CameraUpdate
mit der Transformation.
public static CameraUpdate newLatLngBounds (LatLngBounds-Grenzen, Ganzzahl-Padding)
Gibt ein CameraUpdate
-Objekt zurück, das die Kamera so transformiert, dass die angegebenen Breiten- und Längengradgrenzwerte auf dem Bildschirm mit der größtmöglichen Zoomstufe zentriert werden. Sie können einen Innenrand angeben, um den Begrenzungsrahmen an den Rändern der Kartenansicht einzufügen. Die zurückgegebene CameraUpdate
hat eine Lage von 0 und eine Neigung von 0.
Ändern Sie die Kamera mit diesem Kameraupdate erst, wenn die Karte einem Layout unterzogen wurde. Die Karte muss eine Größe haben, damit der geeignete Begrenzungsrahmen und die Zoomstufe richtig bestimmt werden können. Andernfalls wird IllegalStateException
ausgegeben. Die Karte ist NICHT verfügbar. Die Ansicht, in der die Karte enthalten ist, muss ebenfalls so aufgebaut sein, dass die Abmessungen bestimmt wurden. Wenn Sie nicht sicher sind, ob dies der Fall ist, verwenden Sie stattdessen newLatLngBounds(LatLngBounds, int, int, int)
und geben Sie die Abmessungen der Karte manuell an.
Parameter
Grenzen | Bereich, der auf den Bildschirm passt |
---|---|
padding | Abstand (in px), der zwischen den Rändern des Begrenzungsrahmens und den Ansichtsrändern verbleiben soll. Dieser Wert wird auf alle vier Seiten des Begrenzungsrahmens angewendet. |
Rückgabe:
- Ein
CameraUpdate
mit der Transformation.
public static CameraUpdate newLatLngZoom (LatLng latLng, float zoom)
Gibt ein CameraUpdate
-Objekt zurück, das die Mitte des Bildschirms auf einen von einem LatLng
-Objekt angegebenen Breiten- und Längengrad verschiebt und zum angegebenen Zoomfaktor wechselt.
Parameter
latLng | Ein LatLng -Objekt, das den gewünschten Breiten- und Längengrad enthält. |
---|---|
zoom | die gewünschte Zoomstufe von 2,0 bis 21,0. Werte unter diesem Bereich sind auf 2.0 gesetzt, Werte über diesem Bereich auf 21.0. Erhöhen Sie den Wert, um heranzuzoomen. Nicht alle Bereiche haben Kacheln mit den größten Zoomstufen. |
Rückgabe:
- Ein
CameraUpdate
mit der Transformation.
public static CameraUpdate scrollBy (float xPixel, float yPixel)
Gibt einen CameraUpdate
zurück, der die Kamera über die Karte bewegt und dabei die Mitte der Ansicht um die angegebene Anzahl von Pixeln in x- und y-Richtung verschiebt.
Beispiele:
- Wenn xPixel = 5 und yPixel = 0 ist, scrollt das System nach rechts, indem die Kamera um 5 Pixel nach links verschoben wird.
- Wenn xPixel = 0 und yPixel = 5 ist, scrollt das System nach unten, indem die Kamera so bewegt wird, dass sich die Karte um 5 Pixel nach oben verschoben hat.
Scrollaktionen beziehen sich auf die aktuelle Ausrichtung der Karte. Wenn die Kamera beispielsweise 90 Grad trägt, ist Osten nach oben oben und nach rechts wird sie nach Süden verschoben.
Parameter
Pixel | Die Anzahl der Pixel, die horizontal gescrollt werden sollen. Bei einem positiven Wert wird die Kamera in Bezug auf ihre aktuelle Ausrichtung nach rechts bewegt. Bei einem negativen Wert wird die Kamera in Bezug auf ihre aktuelle Ausrichtung nach links verschoben. |
---|---|
yPixel | Die Anzahl der Pixel für das vertikale Scrollen. Bei einem positiven Wert wird die Kamera in Bezug auf ihre aktuelle Ausrichtung nach unten bewegt. Bei einem negativen Wert wird die Kamera in Bezug auf ihre aktuelle Ausrichtung nach oben verschoben. |
Rückgabe:
- Ein
CameraUpdate
mit der Transformation.
public static CameraUpdate zoomBy (Gleitkommazahl, Punktfokus)
Gibt ein CameraUpdate
zurück, das die Zoomstufe des aktuellen Kamerasichtpunkts verschiebt.
Ein durch den Fokus festgelegter Punkt bleibt unverändert (d.h. er entspricht der Breiten- und Längengrade vor und nach dem Zoomvorgang).
Diese Methode unterscheidet sich von zoomTo(float)
insofern, als der Zoom im Verhältnis zur aktuellen Kamera erfolgt.
Beispiel: LatLng
(11.11, 22.22) befindet sich derzeit am Standort des Bildschirms (23, 45). Nach dem Aufruf dieser Methode mit einem Zoomwert und diesem LatLng
bleibt die Bildschirmposition dieses LatLng
(23, 45) bestehen.
Parameter
amount | Betrag zum Ändern der Zoomstufe. Positive Werte geben an, dass die Oberfläche der Erde größer ist, während negative Werte von der Erdoberfläche wegzoomen. |
---|---|
Konzentration | Pixel-Position auf dem Bildschirm, die nach dem Zoomen fixiert bleiben soll. Der Breiten- und Längengrad, der sich an diesem Pixelstandort vor dem Verschieben der Kamera befand, bleibt auch nach dem Verschieben der Kamera gleich. |
Rückgabe:
- Ein
CameraUpdate
mit der Transformation.
public static CameraUpdate zoomBy (Gleitkommazahl)
Gibt ein CameraUpdate
zurück, das die Zoomstufe des aktuellen Kamerasichtpunkts verschiebt.
Diese Methode unterscheidet sich von zoomTo(float)
insofern, als der Zoom im Verhältnis zur aktuellen Kamera erfolgt.
Parameter
amount | Betrag zum Ändern der Zoomstufe. Positive Werte geben an, dass die Oberfläche der Erde größer ist, während negative Werte von der Erdoberfläche wegzoomen. |
---|
Rückgabe:
- Ein
CameraUpdate
mit der Transformation.
public static CameraUpdate zoomIn ()
Gibt ein CameraUpdate
-Objekt zurück, das durch Heranzoomen der Karte heranzoomt, indem die Höhe des Blickwinkels näher an die Erdoberfläche verschoben wird. Die Zoomstufe ist 1,0.
Rückgabe:
- Ein
CameraUpdate
mit der Transformation.
public static CameraUpdate zoomOut ()
Gibt eine CameraUpdate
zurück, die herauszoomt, indem die Höhe des Blickwinkels von der Erdoberfläche entfernt wird. Die Zoomstufe ist -1,0.
Rückgabe:
- Ein
CameraUpdate
mit der Transformation.
public static CameraUpdate zoomTo (Gleitkommazahl)
Gibt einen CameraUpdate
zurück, der den Kamerasichtpunkt auf eine bestimmte Zoomstufe verschiebt.
Parameter
zoom | die gewünschte Zoomstufe von 2,0 bis 21,0. Werte unter diesem Bereich sind auf 2.0 gesetzt, Werte über diesem Bereich auf 21.0. Erhöhen Sie den Wert, um heranzuzoomen. Nicht alle Bereiche haben Kacheln mit den größten Zoomstufen. |
---|