Una classe contenente metodi per creare CameraUpdate
oggetti che cambiano la fotocamera di una mappa.
Per modificare la fotocamera della mappa, chiama animateCamera(CameraUpdate)
, animateCamera(CameraUpdate, GoogleMap.CancelableCallback)
o moveCamera(CameraUpdate)
utilizzando un oggetto CameraUpdate
creato con questa classe.
Ad esempio, per aumentare lo zoom su una mappa, puoi utilizzare il seguente codice:
GoogleMap map = ...;
map.animateCamera(CameraUpdateFactory.zoomIn());
Prima di utilizzare qualsiasi metodo di questa classe, devi eseguire una delle seguenti operazioni per assicurarti che la classe venga inizializzata:
- Attendi che un
GoogleMap
diventi disponibile da unMapFragment
o unMapView
che hai aggiunto alla tua applicazione. Puoi ottenere l'istanzaGoogleMap
chiamandogetMapAsync()
e attendendo il callbackonMapReady(GoogleMap map)
. - Chiama
initialize(Context)
. Finché non viene generato un valoreGooglePlayServicesNotAvailableException
, questa classe verrà inizializzata correttamente.
Guida per gli sviluppatori
Per ulteriori informazioni, leggi la guida per gli sviluppatori Fotocamera e visualizzazione.
Riepilogo del metodo pubblico
statico CameraUpdate |
newCameraPosition(CameraPosition posizione della fotocamera)
Restituisce un valore
CameraUpdate che sposta la videocamera in un CameraPosition specificato. |
statico CameraUpdate |
newLatLng(LatLng latLng)
Restituisce un valore
CameraUpdate che sposta il centro dello schermo su una latitudine e una longitudine specificate da un oggetto LatLng . |
statico CameraUpdate |
newLatLngBounds(limiti LatLngBounds, larghezza int, altezza int, spaziatura interna int)
Restituisce un valore
CameraUpdate che trasforma la videocamera in modo che i limiti di latitudine/longitudine specificati siano centrati sullo schermo all'interno di un riquadro di delimitazione delle dimensioni specificate con il massimo livello di zoom possibile. |
statico CameraUpdate |
newLatLngBounds(limiti LatLngBounds, spaziatura interna interna)
Restituisce un valore
CameraUpdate che trasforma la fotocamera in modo che i limiti di latitudine/longitudine specificati siano centrati sullo schermo e abbiano il massimo livello di zoom possibile. |
statico CameraUpdate |
newLatLngZoom(LatLng latLng, zoom mobile)
Restituisce un valore
CameraUpdate che sposta il centro dello schermo alla latitudine e alla longitudine specificate da un oggetto LatLng e si sposta al livello di zoom specificato. |
statico CameraUpdate |
scrollBy(float xPixel, yPixel fluttuante)
Restituisce un valore
CameraUpdate che fa scorrere la fotocamera sulla mappa, spostando il centro della vista del numero specificato di pixel nelle direzioni x e y. |
statico CameraUpdate |
zoomBy(quantità in virgola mobile, punto di messa a fuoco)
Restituisce un valore
CameraUpdate che sposta il livello di zoom del punto di vista corrente della videocamera. |
statico CameraUpdate |
zoomBy(quantità di virgola mobile)
Restituisce un valore
CameraUpdate che sposta il livello di zoom del punto di vista corrente della videocamera. |
statico CameraUpdate |
zoomIn()
Restituisce un valore
CameraUpdate che aumenta lo zoom sulla mappa avvicinando l'altezza del punto di vista alla superficie terrestre. |
statico CameraUpdate |
zoomOut()
Restituisce un valore
CameraUpdate che diminuisce lo zoom sulla mappa spostando l'altezza del punto di vista più lontano dalla superficie terrestre. |
statico CameraUpdate |
zoomTo(zoom mobile)
Restituisce un valore
CameraUpdate che sposta il punto di vista della videocamera su un determinato livello di zoom. |
Riepilogo del metodo ereditato
Metodi pubblici
pubblico statico CameraUpdate newCameraPosition (CameraPosition PosizionePosizione)
Restituisce un valore CameraUpdate
che sposta la videocamera in un CameraPosition
specificato. In effetti, questa operazione crea una trasformazione a partire da latitudine, longitudine, livello di zoom, direzione e inclinazione dell'oggetto CameraPosition
.
Parametri
cameraPosition |
---|
Ritorni
- un
CameraUpdate
contenente la trasformazione.
pubblico statico CameraUpdate newLatLng (LatLng latLng)
Restituisce un valore CameraUpdate
che sposta il centro dello schermo su una latitudine e una longitudine specificate da un oggetto LatLng
. In questo modo la fotocamera è centrata sull'oggetto LatLng
.
Parametri
latLng | un oggetto LatLng contenente la latitudine e la longitudine desiderate. |
---|
Ritorni
- un
CameraUpdate
contenente la trasformazione.
pubblico statico CameraUpdate newLatLngBounds (LatLngBounds limiti, larghezza int, altezza int, spaziatura interna int)
Restituisce un valore CameraUpdate
che trasforma la videocamera in modo che i limiti di latitudine/longitudine specificati siano centrati sullo schermo all'interno di un riquadro di delimitazione delle dimensioni specificate con il massimo livello di zoom possibile. Puoi specificare una spaziatura interna aggiuntiva per limitare ulteriormente le dimensioni del riquadro di delimitazione. L'oggetto CameraUpdate
restituito ha un rilevamento di 0 e un'inclinazione di 0.
A differenza di newLatLngBounds(LatLngBounds, int)
, puoi utilizzare l'elemento CameraUpdate
restituito da questo metodo per cambiare la telecamera prima della fase di layout della mappa, perché gli
argomenti specificano le dimensioni desiderate del riquadro di delimitazione.
Parametri
limiti | la regione per adattarla al riquadro di delimitazione |
---|---|
width | larghezza del riquadro di delimitazione in pixel (px) |
altezza | altezza riquadro di delimitazione in pixel (px) |
padding | ulteriore limitazione di dimensione (in px) del riquadro di delimitazione |
Ritorni
- un
CameraUpdate
contenente la trasformazione.
pubblico statico CameraUpdate newLatLngBounds (limiti LatLngBounds, spaziatura interna interna)
Restituisce un valore CameraUpdate
che trasforma la fotocamera in modo che i limiti di latitudine/longitudine specificati siano centrati sullo schermo e abbiano il massimo livello di zoom possibile. Puoi specificare la spaziatura interna per inserire il riquadro di delimitazione dai bordi della visualizzazione mappa. L'elemento CameraUpdate
restituito ha un rilevamento di 0 e un'inclinazione di 0.
Non cambiare la fotocamera con questo aggiornamento della fotocamera fino a quando la mappa non ha subito un layout (perché questo metodo determini correttamente il riquadro di delimitazione e il livello di zoom appropriati, la mappa deve avere una dimensione). In caso contrario, verrà lanciato un IllegalStateException
. NON
è sufficiente che la mappa sia disponibile; anche la visualizzazione contenente la mappa deve essere stata
sottoposta a layout in modo che le sue dimensioni siano state determinate. Se non puoi assicurarti che si sia verificato questo problema, utilizza newLatLngBounds(LatLngBounds, int, int, int)
e fornisci manualmente le dimensioni della mappa.
Parametri
limiti | regione per adattarsi allo schermo |
---|---|
padding | spazio (in px) tra i bordi del riquadro di delimitazione e i bordi della vista. Questo valore viene applicato a tutti e quattro i lati del riquadro di delimitazione. |
Ritorni
- un
CameraUpdate
contenente la trasformazione.
pubblico statico CameraUpdate newLatLngZoom (LatLng latLng, zoom mobile)
Restituisce un valore CameraUpdate
che sposta il centro dello schermo alla latitudine e alla longitudine specificate da un oggetto LatLng
e si sposta al livello di zoom specificato.
Parametri
latLng | un oggetto LatLng contenente la latitudine e la longitudine desiderate. |
---|---|
zoom | il livello di zoom desiderato, nell'intervallo da 2,0 a 21,0. I valori al di sotto di questo intervallo sono impostati su 2,0, mentre i valori superiori sono impostati su 21,0. Aumenta il valore per aumentare lo zoom. Non tutte le aree dispongono di riquadri con i livelli di zoom più elevati. |
Ritorni
- un
CameraUpdate
contenente la trasformazione.
pubblici static CameraUpdate scrollBy (float xPixel, yPixel mobile)
Restituisce un valore CameraUpdate
che fa scorrere la fotocamera sulla mappa, spostando il centro della vista del numero specificato di pixel nelle direzioni x e y.
Esempi:
- Se xPixel = 5 e yPixel = 0, il sistema scorre verso destra spostando la fotocamera in modo che la mappa sembri spostata di 5 pixel verso sinistra.
- Se xPixel = 0 e yPixel = 5, il sistema scorre verso il basso spostando la fotocamera in modo che la mappa sembri spostata di 5 pixel verso l'alto.
Lo scorrimento è relativo all'orientamento corrente della fotocamera. Ad esempio, se la videocamera ha un orientamento di 90 gradi, l'orientamento est è "in alto" e se scorri verso destra la videocamera viene spostata verso sud.
Parametri
xPixel | il numero di pixel necessari per scorrere in orizzontale. Un valore positivo sposta la videocamera verso destra, rispetto all'orientamento attuale. Un valore negativo sposta la videocamera verso sinistra, rispetto all'orientamento corrente. |
---|---|
yPixel | il numero di pixel da scorrere in verticale. Un valore positivo sposta la videocamera verso il basso, rispetto all'orientamento attuale. Un valore negativo sposta la videocamera verso l'alto, rispetto all'orientamento attuale. |
Ritorni
- un
CameraUpdate
contenente la trasformazione.
pubblico statico CameraUpdate zoomBy (quantità di virgola mobile, punto di messa a fuoco)
Restituisce un valore CameraUpdate
che sposta il livello di zoom del punto di vista corrente della videocamera.
Un punto specificato dalla messa a fuoco rimarrà fisso (ossia, corrisponde alla stessa latitudine/longitudine sia prima che dopo il processo di zoom).
Questo metodo è diverso da zoomTo(float)
in quanto lo zoom è relativo alla videocamera
corrente.
Ad esempio, se LatLng
(11.11, 22.22) si trova attualmente nella posizione dello schermo (23, 45). Dopo aver chiamato questo metodo con un importo di zoom e questo LatLng
, la posizione dello schermo di questo LatLng
sarà ancora (23, 45).
Parametri
amount | per modificare il livello di zoom. I valori positivi indicano che l'obiettivo è stato avvicinato di più alla superficie terrestre, mentre i valori negativi indicano che è diminuito lo zoom rispetto alla superficie della Terra. |
---|---|
obiettivo | posizione dei pixel sullo schermo che deve rimanere fissa dopo il processo di zoom. I valori di latitudine e longitudine presenti nella posizione del pixel prima dello spostamento della videocamera rimarranno invariati dopo lo spostamento della videocamera. |
Ritorni
- un
CameraUpdate
contenente la trasformazione.
pubblico statico CameraUpdate zoomBy (quantità di virgola mobile)
Restituisce un valore CameraUpdate
che sposta il livello di zoom del punto di vista corrente della videocamera.
Questo metodo è diverso da zoomTo(float)
in quanto lo zoom è relativo alla videocamera
corrente.
Parametri
amount | per modificare il livello di zoom. I valori positivi indicano che l'obiettivo è stato avvicinato di più alla superficie terrestre, mentre i valori negativi indicano che è diminuito lo zoom rispetto alla superficie della Terra. |
---|
Ritorni
- un
CameraUpdate
contenente la trasformazione.
pubblico statico CameraUpdate zoomIn ()
Restituisce un valore CameraUpdate
che aumenta lo zoom sulla mappa avvicinando l'altezza del punto di vista alla superficie terrestre. L'incremento dello zoom è 1,0.
Ritorni
- un
CameraUpdate
contenente la trasformazione.
pubblico statico CameraUpdate zoomOut ()
Restituisce un valore CameraUpdate
che diminuisce lo zoom sulla mappa spostando l'altezza del punto di vista più lontano dalla superficie terrestre. L'incremento dello zoom è -1,0.
Ritorni
- un
CameraUpdate
contenente la trasformazione.
pubblici statici CameraUpdate zoomTo (zoom mobile)
Restituisce un valore CameraUpdate
che sposta il punto di vista della videocamera su un determinato livello di zoom.
Parametri
zoom | il livello di zoom desiderato, nell'intervallo da 2,0 a 21,0. I valori al di sotto di questo intervallo sono impostati su 2,0, mentre i valori superiori sono impostati su 21,0. Aumenta il valore per aumentare lo zoom. Non tutte le aree dispongono di riquadri con i livelli di zoom più elevati. |
---|