CameraUpdateFactory

classe final pública CameraUpdateFactory estende o Object

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:

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

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

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

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

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

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

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

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

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

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

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.