Uma classe que contém métodos para criar objetos CameraUpdate
que alteram a câmera de um mapa.
Para modificar a câmera do mapa, chame animateCamera(CameraUpdate)
, animateCamera(CameraUpdate, GoogleMap.CancelableCallback)
ou moveCamera(CameraUpdate)
usando um objeto CameraUpdate
criado com essa classe.
Por exemplo, para aumentar o zoom em um mapa, use este código:
GoogleMap map = ...;
map.animateCamera(CameraUpdateFactory.zoomIn());
Antes de usar qualquer método dessa classe, é necessário realizar uma das seguintes ações para garantir que essa classe seja inicializada:
- Aguarde até que um
GoogleMap
seja disponibilizado para umMapFragment
ouMapView
que você adicionou ao aplicativo. Para conseguir a instância deGoogleMap
, chamegetMapAsync()
e aguarde o callbackonMapReady(GoogleMap map)
. - Chame
initialize(Context)
. Desde que umGooglePlayServicesNotAvailableException
não seja gerado, essa classe será inicializada corretamente.
Guia do desenvolvedor
Para ver mais informações, leia o guia do desenvolvedor sobre Câmera e visualização.
Resumo do método público
estático CameraUpdate |
newCameraPosition(CameraPosition cameraPosition)
Retorna um
CameraUpdate que move a câmera para um CameraPosition especificado. |
estático CameraUpdate |
newLatLng(LatLng latLng)
Retorna um
CameraUpdate que move o centro da tela para uma latitude e longitude especificadas por um objeto LatLng . |
estático CameraUpdate |
newLatLngBounds(limites de LatLngBounds, largura int, altura int, padding int)
Retorna um
CameraUpdate que transforma a câmera de modo que os limites de latitude/longitude especificados fiquem centralizados na tela dentro de uma caixa delimitadora de dimensões especificadas no maior nível de zoom possível. |
estático CameraUpdate |
newLatLngBounds(limites de LatLngBounds, padding int)
Retorna um
CameraUpdate que transforma a câmera para que os limites de latitude/longitude especificados fiquem centralizados na tela no maior nível de zoom possível. |
estático CameraUpdate |
newLatLngZoom(LatLng latLng, zoom flutuante)
Retorna um
CameraUpdate que move o centro da tela para uma latitude e longitude especificadas por um objeto LatLng e se move para o nível de zoom indicado. |
estático CameraUpdate |
scrollBy(xPixel flutuante, yPixel flutuante)
Retorna um
CameraUpdate que rola a câmera sobre o mapa, deslocando o centro da visualização pelo número especificado de pixels nas direções x e y. |
estático CameraUpdate |
zoomBy(valor flutuante, foco do ponto)
Retorna um
CameraUpdate que desloca o nível de zoom do ponto de visão atual da câmera. |
estático CameraUpdate |
zoomBy(valor flutuante)
Retorna um
CameraUpdate que desloca o nível de zoom do ponto de visão atual da câmera. |
estático CameraUpdate |
zoomIn()
Retorna um
CameraUpdate que aumenta o zoom no mapa movendo a altura do ponto de visualização para mais perto da superfície da Terra. |
estático CameraUpdate |
zoomOut()
Retorna um
CameraUpdate que diminui o zoom no mapa, afastando a altura do ponto de vista da superfície da Terra. |
estático CameraUpdate |
zoomTo(zoom flutuante)
Retorna um
CameraUpdate que move o ponto de visão da câmera para um nível de zoom específico. |
Resumo do método herdado
Métodos públicos
public estático CameraUpdate newCameraPosition (CameraPosition cameraPosition)
Retorna um CameraUpdate
que move a câmera para um CameraPosition
especificado. Na verdade, isso cria uma transformação a partir da latitude, longitude, nível de zoom, direção e inclinação do objeto CameraPosition
.
Parâmetros
cameraPosition |
---|
Retorna
- um
CameraUpdate
contendo a transformação.
public estático CameraUpdate newLatLng (LatLng latLng)
Retorna um CameraUpdate
que move o centro da tela para uma latitude e longitude especificadas por um objeto LatLng
. Isso centraliza a câmera no objeto LatLng
.
Parâmetros
latLng | um objeto LatLng contendo a latitude e longitude desejadas. |
---|
Retorna
- um
CameraUpdate
contendo a transformação.
public estático CameraUpdate newLatLngBounds (LatLngBounds limites, largura int, altura int, padding int)
Retorna um CameraUpdate
que transforma a câmera de modo que os limites de latitude/longitude especificados fiquem centralizados na tela dentro de uma caixa delimitadora de dimensões especificadas no maior nível de zoom possível. É possível especificar mais padding para restringir
ainda mais o tamanho da caixa delimitadora. O CameraUpdate
retornado tem um rolamento de 0 e uma inclinação de 0.
Ao contrário de newLatLngBounds(LatLngBounds, int)
, você pode usar o CameraUpdate
retornado por esse método para mudar a câmera antes da fase de layout do mapa, porque os argumentos especificam o tamanho desejado da caixa delimitadora.
Parâmetros
limites | a região para caber na caixa delimitadora |
---|---|
largura | largura da caixa delimitadora em pixels (px) |
altura | altura da caixa delimitadora em pixels (px) |
padding | restrição de tamanho adicional (em px) da caixa delimitadora |
Retorna
- um
CameraUpdate
contendo a transformação.
public estático CameraUpdate newLatLngBounds (LatLngBounds limites, padding int)
Retorna um CameraUpdate
que transforma a câmera para que os limites de latitude/longitude especificados fiquem centralizados na tela no maior nível de zoom possível. Você pode especificar o preenchimento para inserir a caixa delimitadora nas bordas da visualização de mapa. O CameraUpdate
retornado tem um rolamento de 0 e uma inclinação de 0.
Não mude a câmera com essa atualização até que o mapa tenha passado pelo layout. Para que esse método determine corretamente a caixa delimitadora e o nível de zoom adequados, o mapa precisa ter um tamanho. Caso contrário, uma IllegalStateException
será gerada. NÃO basta que o mapa esteja disponível. A visualização que o contém também precisa ter passado por um layout de modo que as dimensões tenham sido determinadas. Se você não souber se isso aconteceu, use newLatLngBounds(LatLngBounds, int, int, int)
e informe as dimensões do mapa manualmente.
Parâmetros
limites | região para caber na tela |
---|---|
padding | espaço (em px) para deixar entre as bordas da caixa delimitadora e as bordas da visualização. Esse valor é aplicado a todos os quatro lados da caixa delimitadora. |
Retorna
- um
CameraUpdate
contendo a transformação.
public estático CameraUpdate newLatLngZoom (LatLng latLng, zoom flutuante)
Retorna um CameraUpdate
que move o centro da tela para uma latitude e longitude especificadas por um objeto LatLng
e se move para o nível de zoom indicado.
Parâmetros
latLng | um objeto LatLng contendo a latitude e longitude desejadas. |
---|---|
zoom | o nível de zoom desejado, no intervalo de 2,0 a 21,0. Os valores abaixo desse intervalo são definidos como 2,0 e os valores acima dele são definidos como 21,0. Aumente o valor para ampliar. Nem todas as áreas têm blocos com os maiores níveis de zoom. |
Retorna
- um
CameraUpdate
contendo a transformação.
public estático CameraUpdate scrollBy (xPixel flutuante, yPixel flutuante)
Retorna um CameraUpdate
que rola a câmera sobre o mapa, deslocando o centro da visualização pelo número especificado de pixels nas direções x e y.
Exemplos:
- Se xPixel = 5 e yPixel = 0, o sistema rola para a direita movendo a câmera de modo que o mapa pareça ter deslocado 5 pixels para a esquerda.
- Se xPixel = 0 e yPixel = 5, o sistema rola para baixo movendo a câmera de modo que o mapa pareça ter sido deslocado 5 pixels para cima.
A rolagem está relacionada à orientação atual da câmera. Por exemplo, se a câmera estiver se deslocando 90 graus, o leste estará "para cima", e a rolagem para a direita moverá a câmera para o sul.
Parâmetros
xPixel | o número de pixels para rolagem horizontal. Um valor positivo move a câmera para a direita em relação à orientação atual. Um valor negativo move a câmera para a esquerda em relação à orientação atual. |
---|---|
yPixel | o número de pixels para rolagem vertical. Um valor positivo move a câmera para baixo em relação à orientação atual. Um valor negativo move a câmera para cima em relação à orientação atual. |
Retorna
- um
CameraUpdate
contendo a transformação.
public estático CameraUpdate zoomBy (valor flutuante, foco do ponto)
Retorna um CameraUpdate
que desloca o nível de zoom do ponto de visão atual da câmera.
Um ponto especificado pelo foco permanece fixo (ou seja, corresponde à mesma latitude/longitude antes e depois do processo de zoom).
Esse método é diferente de zoomTo(float)
, porque o zoom é relativo à câmera atual.
Por exemplo, se LatLng
(11.11, 22.22) estiver no local da tela (23,
45). Depois de chamar esse método com um valor de zoom e esse LatLng
, o local da tela do LatLng
ainda vai ser (23, 45).
Parâmetros
amount | para mudar o nível de zoom. Valores positivos indicam um zoom mais próximo da superfície da Terra, enquanto valores negativos indicam um movimento longe da superfície da Terra. |
---|---|
foco | localização do pixel na tela que deve permanecer fixa após o processo de zoom. A latitude/longitude que estava nesse local do pixel antes do movimento da câmera permanecerá a mesma depois que ela for movida. |
Retorna
- um
CameraUpdate
contendo a transformação.
public estático CameraUpdate zoomBy (valor flutuante)
Retorna um CameraUpdate
que desloca o nível de zoom do ponto de visão atual da câmera.
Esse método é diferente de zoomTo(float)
, porque o zoom é relativo à câmera atual.
Parâmetros
amount | para mudar o nível de zoom. Valores positivos indicam um zoom mais próximo da superfície da Terra, enquanto valores negativos indicam um movimento longe da superfície da Terra. |
---|
Retorna
- um
CameraUpdate
contendo a transformação.
public estático CameraUpdate zoomIn ()
Retorna um CameraUpdate
que aumenta o zoom no mapa movendo a altura do ponto de visualização para mais perto da superfície da Terra. O incremento de zoom é 1,0.
Retorna
- um
CameraUpdate
contendo a transformação.
public estático CameraUpdate zoomOut ()
Retorna um CameraUpdate
que diminui o zoom no mapa, afastando a altura do ponto de vista da superfície da Terra. O incremento de zoom é -1,0.
Retorna
- um
CameraUpdate
contendo a transformação.
public estático CameraUpdate zoomTo (zoom flutuante)
Retorna um CameraUpdate
que move o ponto de visão da câmera para um nível de zoom específico.
Parâmetros
zoom | o nível de zoom desejado, no intervalo de 2,0 a 21,0. Os valores abaixo desse intervalo são definidos como 2,0 e os valores acima dele são definidos como 21,0. Aumente o valor para ampliar. Nem todas as áreas têm blocos com os maiores níveis de zoom. |
---|