Eine Klasse mit Methoden zum Erstellen von CameraUpdate
-Objekten, die die Kamera einer Karte ändern.
Um die Kamera der Karte zu ändern, rufen Sie animateCamera(CameraUpdate)
, animateCamera(CameraUpdate, GoogleMap.CancelableCallback)
oder moveCamera(CameraUpdate)
auf. Verwenden Sie dazu ein CameraUpdate
-Objekt, das mit dieser Klasse erstellt wurde.
Zum Heranzoomen einer Karte können Sie beispielsweise den folgenden Code verwenden:
GoogleMap map = ...;
map.animateCamera(CameraUpdateFactory.zoomIn());
Bevor Sie Methoden aus dieser Klasse verwenden, müssen Sie einen der folgenden Schritte ausführen, um dafür zu sorgen, 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
ausgegeben wird, wird diese Klasse korrekt initialisiert.
Entwicklerleitfaden
Weitere Informationen finden Sie im Entwicklerleitfaden für Kamera und Ansicht.
Public Method Summary
statisches CameraUpdate |
newCameraPosition(CameraPosition KameraPosition)
Gibt ein
CameraUpdate zurück, mit dem die Kamera zu einem angegebenen CameraPosition bewegt wird. |
statisches CameraUpdate |
newLatLng(LatLng latLng)
Gibt ein
CameraUpdate zurück, mit dem die Bildschirmmitte auf einen Breiten- und Längengrad verschoben wird, der durch ein LatLng -Objekt angegeben wird. |
statisches CameraUpdate |
newLatLngBounds(LatLngBounds-Grenzen, int-Breite, int-Höhe, int-Padding)
Gibt einen
CameraUpdate zurück, der die Kamera so umwandelt, dass die angegebenen Breiten- und Längengradgrenzen auf dem Bildschirm innerhalb eines Begrenzungsrahmens der angegebenen Abmessungen auf der größtmöglichen Zoomstufe auf dem Bildschirm zentriert werden. |
statisches CameraUpdate |
newLatLngBounds(LatLngBounds-Grenzen, int-Padding)
Gibt ein
CameraUpdate zurück, das die Kamera so umwandelt, dass die angegebenen Breiten- und Längengradgrenzen auf dem Bildschirm mit der größtmöglichen Zoomstufe zentriert werden. |
statisches CameraUpdate |
newLatLngZoom(LatLng latLng, Float-Zoom)
Gibt ein
CameraUpdate zurück, mit dem die Bildschirmmitte auf einen durch ein LatLng -Objekt angegebenen Breiten- und Längengrad verschoben und zur angegebenen Zoomstufe bewegt wird. |
statisches CameraUpdate |
scrollBy(float xPixel, float yPixel)
Gibt ein
CameraUpdate -Objekt zurück, das mit der Kamera über die Karte gescrollt und dabei der Ansichtspunkt um die angegebene Anzahl von Pixeln in x- und y-Richtung verschoben wird. |
statisches CameraUpdate |
zoomBy(Gleitkommazahl, Punktfokus)
Gibt ein
CameraUpdate zurück, das die Zoomstufe des aktuellen Kamerablickpunkts verschiebt. |
statisches CameraUpdate |
zoomBy(Gleitkommazahl)
Gibt ein
CameraUpdate zurück, das die Zoomstufe des aktuellen Kamerablickpunkts verschiebt. |
statisches CameraUpdate |
zoomIn()
Gibt ein
CameraUpdate zurück, das die Karte vergrößert, indem die Höhe des Blickwinkels näher an die Erdoberfläche verschoben wird. |
statisches CameraUpdate |
zoomOut()
Gibt ein
CameraUpdate zurück, das aus der Karte herauszoomt, indem die Höhe des Blickwinkels von der Erdoberfläche wegbewegt wird. |
statisches CameraUpdate |
zoomTo(Gleitkomma-Zoom)
Gibt ein
CameraUpdate zurück, das den Blickwinkel der Kamera auf einen bestimmten Zoomfaktor verschiebt. |
Inherited Method Summary
Public Methods
public static CameraUpdate newCameraPosition (CameraPosition KameraPosition)
Gibt ein CameraUpdate
zurück, mit dem die Kamera zu einem angegebenen CameraPosition
bewegt wird. Dadurch wird eine Umwandlung des Breitengrads, Längengrads, der Zoomstufe, der Ausrichtung und der Neigung des CameraPosition
-Objekts erstellt.
Parameter
cameraPosition |
---|
Rückgaben
- Ein
CameraUpdate
, das die Transformation enthält.
public static CameraUpdate newLatLng (LatLng latLng)
Gibt ein CameraUpdate
zurück, mit dem die Bildschirmmitte auf einen Breiten- und Längengrad verschoben wird, 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ückgaben
- Ein
CameraUpdate
, das die Transformation enthält.
public static CameraUpdate newLatLngBounds (LatLngBounds bounds, int width, int height, int padding)
Gibt einen CameraUpdate
zurück, der die Kamera so umwandelt, dass die angegebenen Breiten- und Längengradgrenzen auf dem Bildschirm innerhalb eines Begrenzungsrahmens der angegebenen Abmessungen auf der größtmöglichen Zoomstufe auf dem Bildschirm zentriert werden. Sie können einen zusätzlichen Abstand angeben, 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)
können Sie 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 | 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 px) des Begrenzungsrahmens |
Rückgaben
- Ein
CameraUpdate
, das die Transformation enthält.
public static CameraUpdate newLatLngBounds (LatLngBounds-Grenzen, int. Abstand)
Gibt ein CameraUpdate
zurück, das die Kamera so umwandelt, dass die angegebenen Breiten- und Längengradgrenzen auf dem Bildschirm mit der größtmöglichen Zoomstufe zentriert werden. Sie können einen Innenrand festlegen, um den Begrenzungsrahmen von den Rändern der Kartenansicht aus einzufügen. Der zurückgegebene CameraUpdate
hat eine Lage von 0 und eine Neigung von 0.
Ändern Sie die Kamera mit diesem Kameraupdate erst, nachdem das Layout der Karte geändert wurde. Damit mit dieser Methode der geeignete Begrenzungsrahmen und die Zoomstufe korrekt ermittelt werden können, muss die Karte eine Größe haben. Andernfalls wird IllegalStateException
ausgegeben. Es reicht NICHT aus, dass die Karte verfügbar ist. Die Ansicht mit der Karte muss auch so gestaltet worden sein, dass ihre Abmessungen bestimmt wurden. Wenn Sie nicht sicher sind, ob das der Fall ist, verwenden Sie stattdessen newLatLngBounds(LatLngBounds, int, int, int)
und geben Sie die Abmessungen der Karte manuell an.
Parameter
Grenzen | an den Bildschirm anpassen. |
---|---|
padding | Abstand (in Pixel), der zwischen den Rändern der Begrenzungsrahmen und den Ansichtsrändern bleibt. Dieser Wert wird auf alle vier Seiten des Begrenzungsrahmens angewendet. |
Rückgaben
- Ein
CameraUpdate
, das die Transformation enthält.
public static CameraUpdate newLatLngZoom (LatLng latLng, Float-Zoom)
Gibt ein CameraUpdate
zurück, mit dem die Bildschirmmitte auf einen durch ein LatLng
-Objekt angegebenen Breiten- und Längengrad verschoben und zur angegebenen Zoomstufe bewegt wird.
Parameter
latLng | Ein LatLng -Objekt, das den gewünschten Breiten- und Längengrad enthält. |
---|---|
zoom | die gewünschte Zoomstufe im Bereich von 2,0 bis 21,0. Werte unterhalb dieses Bereichs werden auf 2,0 und darüber liegende Werte auf 21,0 gesetzt. Erhöhen Sie den Wert, um heranzuzoomen. Nicht alle Bereiche haben Kacheln in den höchsten Zoomstufen. |
Rückgaben
- Ein
CameraUpdate
, das die Transformation enthält.
public static CameraUpdate scrollBy (float xPixel, float yPixel)
Gibt ein CameraUpdate
-Objekt zurück, das mit der Kamera über die Karte gescrollt und dabei der Ansichtspunkt um die angegebene Anzahl von Pixeln in x- und y-Richtung verschoben wird.
Beispiele:
- Wenn xPixel = 5 und yPixel = 0 ist, scrollt das System nach rechts, indem die Kamera so bewegt wird, dass die Karte um 5 Pixel nach links verschoben zu sein scheint.
- Wenn xPixel = 0 und yPixel = 5 ist, scrollt das System nach unten durch Bewegen der Kamera, sodass die Karte um 5 Pixel nach oben verschoben zu sein scheint.
Scrollaktionen beziehen sich auf die aktuelle Ausrichtung der Karte. Bei einer Kameraposition von 90 Grad ist beispielsweise Osten „oben“ und durch Scrollen nach rechts wird sie nach Süden verschoben.
Parameter
xPixel | die Anzahl der Pixel für horizontales Scrollen. Ein positiver Wert verschiebt die Kamera bezogen auf ihre aktuelle Ausrichtung nach rechts. Bei einem negativen Wert wird die Kamera unter Berücksichtigung der aktuellen Ausrichtung nach links bewegt. |
---|---|
yPixel | die Anzahl der Pixel für vertikales Scrollen. Ein positiver Wert bewegt die Kamera unter Berücksichtigung der aktuellen Ausrichtung nach unten. Bei einem negativen Wert bewegt sich die Kamera unter Berücksichtigung der aktuellen Ausrichtung nach oben. |
Rückgaben
- Ein
CameraUpdate
, das die Transformation enthält.
public static CameraUpdate zoomBy (Gleitkommazahl, Punktfokus)
Gibt ein CameraUpdate
zurück, das die Zoomstufe des aktuellen Kamerablickpunkts verschiebt.
Ein durch den Fokus angegebener Punkt bleibt fixiert (d.h., er entspricht sowohl vor als auch nach dem Zoomen der gleichen Breite/Länge).
Diese Methode unterscheidet sich von zoomTo(float)
darin, dass der Zoom relativ zur aktuellen Kamera ist.
Das ist beispielsweise der Fall, wenn sich LatLng
(11.11, 22.22) derzeit an der Bildschirmposition (23, 45) befindet. Nachdem diese Methode mit einem Zoomfaktor und diesem LatLng
aufgerufen wurde, ist die Bildschirmposition dieses LatLng
weiterhin (23, 45).
Parameter
Menge | , um die Zoomstufe zu ändern. Positive Werte geben an, dass näher an die Erdoberfläche herangezoomt wird, während negative Werte anzeigen, dass von der Erdoberfläche weggezoomt wird. |
---|---|
Konzentration | Pixelposition auf dem Bildschirm, die nach dem Zoomen fixiert bleiben soll. Die Längen- und Breitengrade, die sich vor der Kamerabewegung an dieser Pixelposition befanden, bleiben nach dem Bewegen der Kamera gleich. |
Rückgaben
- Ein
CameraUpdate
, das die Transformation enthält.
public static CameraUpdate zoomBy (Gleitkommazahl)
Gibt ein CameraUpdate
zurück, das die Zoomstufe des aktuellen Kamerablickpunkts verschiebt.
Diese Methode unterscheidet sich von zoomTo(float)
darin, dass der Zoom relativ zur aktuellen Kamera ist.
Parameter
Menge | , um die Zoomstufe zu ändern. Positive Werte geben an, dass näher an die Erdoberfläche herangezoomt wird, während negative Werte anzeigen, dass von der Erdoberfläche weggezoomt wird. |
---|
Rückgaben
- Ein
CameraUpdate
, das die Transformation enthält.
public static CameraUpdate zoomIn ()
Gibt ein CameraUpdate
zurück, das die Karte vergrößert, indem die Höhe des Blickwinkels näher an die Erdoberfläche verschoben wird. Die Zoomstufe beträgt 1,0.
Rückgaben
- Ein
CameraUpdate
, das die Transformation enthält.
public static CameraUpdate zoomOut ()
Gibt ein CameraUpdate
zurück, das aus der Karte herauszoomt, indem die Höhe des Blickwinkels von der Erdoberfläche wegbewegt wird. Die Zoomstufe beträgt -1,0.
Rückgaben
- Ein
CameraUpdate
, das die Transformation enthält.
public static CameraUpdate zoomTo (Gleitkommazahl-Zoom)
Gibt ein CameraUpdate
zurück, das den Blickwinkel der Kamera auf einen bestimmten Zoomfaktor verschiebt.
Parameter
zoom | die gewünschte Zoomstufe im Bereich von 2,0 bis 21,0. Werte unterhalb dieses Bereichs werden auf 2,0 und darüber liegende Werte auf 21,0 gesetzt. Erhöhen Sie den Wert, um heranzuzoomen. Nicht alle Bereiche haben Kacheln in den höchsten Zoomstufen. |
---|