Minha pergunta é: alguém sabe como configurar o Google Maps, para abrir minha localização e em uma visualização ampliada?
Atualmente, a visão principal se abre para a África, com todo o zoom reduzido.
E então eu tenho procurado por dias agora, e tudo que eu posso encontrar são:
1) Você não pode animar duas coisas (como aumentar o zoom e ir para a minha localização) em um mapa do Google? Portanto, se eu descobrir como definir o zoom antes de definir o animar, esse problema será resolvido. Esse é o problema; você pode alterar um, mas não os dois.
2) Encontrei outras classes que podem ser úteis, mas não há ajuda sobre como configurar o código para que a classe possa manipular o mapa do google.
Este é o código que tenho mantido até agora, alguns trabalhos, outros não. Alguns que eu pensei que poderiam ser úteis mais tarde.
package com.MYWEBSITE.www;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import android.content.Context;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
public class MainActivity extends FragmentActivity {
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
map.setMyLocationEnabled(true);
//LocationSource a = (LocationSource) getSystemService(Context.LOCATION_SERVICE);
//LocationManager b = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
//map.setLocationSource(a);
Criteria criteria = new Criteria();
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
String provider = locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(provider);
double lat = location.getLatitude();
double lng = location.getLongitude();
LatLng coordinate = new LatLng(lat, lng);
//CameraPosition.Builder x = CameraPosition.builder();
//x.target(coordinate);
//x.zoom(13);
//Projection proj = map.getProjection();
//Point focus = proj.toScreenLocation(coordinate);
//map.animateCamera(CameraUpdateFactory.newLatLng(coordinate));
map.animateCamera(CameraUpdateFactory.zoomBy(13));
//map.moveCamera(CameraUpdateFactory.newLatLng(coordinate));
////LatLngBounds bounds = mMap.getProjection().getVisibleRegion().latLngBounds;
}
}
fonte
É possível alterar a localização, zoom, rumo e inclinação de uma só vez. Também é possível definir a duração da
animateCamera()
chamada.Veja os documentos aqui:
https://developers.google.com/maps/documentation/android/views?hl=pt-BR#moving_the_camera
fonte
Esta é uma solução simples para sua pergunta
fonte
Tente desta maneira -
}
fonte
Você também pode definir os dois parâmetros, como
Isso localiza seu mapa em uma posição e zoom específicos. Eu uso isso na configuração do meu mapa.
fonte
É uma resposta tardia, mas acho que vai ajudar. Use este método:
Use este método depois de carregar o mapa. Felicidades!
fonte
A maneira mais simples de fazer isso é usar CancelableCallback. Você deve verificar se a primeira ação está concluída e depois chamar a segunda:
fonte
A resposta do @ CommonsWare na verdade não funciona. Eu descobri que isso está funcionando corretamente:
fonte
1. Adicione o código xml ao seu layout para exibir mapas.
2.Ative a API do Google Maps e obtenha a chave da API abaixo.
3. Adicione este código em oncreate.
4. Adicione este código após a criação. em seguida, acesse a localização atual com o marcador colocado nesse
fonte
Você não pode animar duas coisas (como aumentar o zoom e ir para a minha localização) em um mapa do Google.
Então use mover e animar a câmera para ampliar
fonte
fonte