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 esta classe.
Por exemplo, para aumentar o zoom em um mapa, use o seguinte código:
GoogleMap map = ...;
map.animateCamera(CameraUpdateFactory.zoomIn());
Antes de usar qualquer método dessa classe, realize uma das seguintes ações para garantir que ela seja inicializada:
- Aguarde até que um
GoogleMap
fique disponível a partir de umMapFragment
ouMapView
que você adicionou ao seu aplicativo. Você pode conseguir a instânciaGoogleMap
chamandogetMapAsync()
e aguardando o callbackonMapReady(GoogleMap map)
. - Chame
initialize(Context)
. Contanto que umaGooglePlayServicesNotAvailableException
não seja gerada, essa classe será inicializada corretamente.
Guia do desenvolvedor
Para ver mais informações, leia o guia do desenvolvedor de Câmera e visualização.
Resumo do método público
CameraUpdate estática |
newCameraPosition (PositionPosition da câmera)
Retorna um
CameraUpdate que move a câmera para um CameraPosition especificado. |
CameraUpdate estática |
newLatLng(lat latLng)
Retorna um
CameraUpdate que move o centro da tela para uma latitude e longitude especificadas por um objeto LatLng . |
CameraUpdate estática |
newLatLngBounds(limites LatLngBounds, largura int, altura int, padding int)
Retorna um
CameraUpdate que transforma a câmera para 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. |
CameraUpdate estática |
newLatLngBounds(limites 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. |
CameraUpdate estática |
newLatLngZoom (latinação de LatLng, zoom flutuante)
Retorna um
CameraUpdate que move o centro da tela para uma latitude e longitude especificadas por um objeto LatLng e passa para o nível de zoom especificado. |
CameraUpdate estática |
scrollBy(xPixel flutuante, yPixel flutuante)
Retorna um
CameraUpdate que rola a câmera sobre o mapa, deslocando o centro de visualização pelo número especificado de pixels nas direções x e y. |
CameraUpdate estática |
zoomBy(valor flutuante, foco no ponto)
Retorna um
CameraUpdate que muda o nível de zoom do ponto de vista atual da câmera. |
CameraUpdate estática |
zoomBy(valor flutuante)
Retorna um
CameraUpdate que muda o nível de zoom do ponto de vista atual da câmera. |
CameraUpdate estática |
zoomIn().
Retorna um
CameraUpdate que aumenta o zoom no mapa movendo a altura do ponto de vista mais perto da superfície do Google Earth. |
CameraUpdate estática |
zoomOut().
Retorna um
CameraUpdate que diminui o zoom no mapa movendo a altura do ponto de vista mais longe da superfície do Google Earth. |
CameraUpdate estática |
zoomTo(zoom flutuante)
Retorna um
CameraUpdate que move o ponto de vista da câmera para um nível de zoom específico. |
Resumo do método herdado
Métodos públicos
público 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 do objeto CameraPosition
, latitude, longitude, nível de zoom, rolamento e inclinação.
Parâmetros
posição da câmera |
---|
Retorna
- Um
CameraUpdate
que contém a transformação.
público 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 a longitude desejadas. |
---|
Retorna
- Um
CameraUpdate
que contém a transformação.
público estático CameraUpdate newLatLngBounds (LatLngBounds limites, largura int, altura int, padding int)
Retorna um CameraUpdate
que transforma a câmera para 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 a CameraUpdate
retornada por esse método para mudar a câmera antes da fase de layout, porque os argumentos especificam o tamanho desejado da caixa delimitadora.
Parâmetros
limites | a região a 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
que contém 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 padding para inserir a caixa delimitadora nas bordas da visualização de mapa. O CameraUpdate
retornado tem um rolamento 0 e inclinação 0.
Não altere 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 apropriados, o mapa precisa ter um tamanho). Caso contrário, um IllegalStateException
será gerado. NÃO é suficiente que o mapa esteja disponível. A visualização que contém o mapa também precisa ter passado por um layout de modo que suas dimensões tenham sido determinadas. Se você não tiver certeza se isso ocorreu, use newLatLngBounds(LatLngBounds, int, int, int)
e forneça 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 de visualização. Esse valor é aplicado a todos os quatro lados da caixa delimitadora. |
Retorna
- Um
CameraUpdate
que contém a transformação.
público 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 passa para o nível de zoom especificado.
Parâmetros
latlng | um objeto LatLng contendo a latitude e a longitude desejadas. |
---|---|
zoom | 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 estão definidos como 21.0. Aumente o valor do zoom. Nem todas as áreas têm blocos nos maiores níveis de zoom. |
Retorna
- Um
CameraUpdate
que contém a transformação.
público estático CameraUpdate scrollBy (float xPixel, float yPixel)
Retorna um CameraUpdate
que rola a câmera sobre o mapa, deslocando o centro de visualização pelo número especificado de pixels nas direções x e y.
Exemplos:
- Se xPixel = 5 e yPixel = 0, o sistema vai rolar 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 rolará a câmera movendo a câmera para que o mapa pareça ter deslocado 5 pixels para cima.
A rolagem está relacionada à orientação atual da câmera. Por exemplo, se a câmera está rolando 90 graus, Leste será para cima, e a rolagem à direita moverá a câmera para o sul.
Parâmetros
xPixel | Número de pixels para rolar horizontalmente. 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 rolar verticalmente. 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
que contém a transformação.
público estático CameraUpdate zoomBy (valor flutuante, foco no ponto)
Retorna um CameraUpdate
que muda o nível de zoom do ponto de vista atual da câmera.
Um ponto especificado pelo foco permanecerá 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 o 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 desse LatLng
ainda será (23, 45).
Parâmetros
amount | para mudar o nível de zoom. Valores positivos indicam o zoom mais próximo da superfície da Terra, enquanto valores negativos indicam o afastamento 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 na localização de pixel antes da movimentação da câmera permanecerá a mesma após a movimentação da câmera. |
Retorna
- Um
CameraUpdate
que contém a transformação.
público estático CameraUpdate zoomBy (valor flutuante)
Retorna um CameraUpdate
que muda o nível de zoom do ponto de vista 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 o zoom mais próximo da superfície da Terra, enquanto valores negativos indicam o afastamento da superfície da Terra. |
---|
Retorna
- Um
CameraUpdate
que contém a transformação.
público estático CameraUpdate zoomIn ()
Retorna um CameraUpdate
que aumenta o zoom no mapa movendo a altura do ponto de vista mais perto da superfície do Google Earth. O incremento de zoom é 1,0.
Retorna
- Um
CameraUpdate
que contém a transformação.
público estático CameraUpdate zoomOut ()
Retorna um CameraUpdate
que diminui o zoom no mapa movendo a altura do ponto de vista mais longe da superfície do Google Earth. O incremento de zoom é -1,0.
Retorna
- Um
CameraUpdate
que contém a transformação.
público estático CameraUpdate zoomTo (zoom flutuante)
Retorna um CameraUpdate
que move o ponto de vista da câmera para um nível de zoom específico.
Parâmetros
zoom | 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 estão definidos como 21.0. Aumente o valor do zoom. Nem todas as áreas têm blocos nos maiores níveis de zoom. |
---|