Bom dia, quando estou rodando a aplicação, na hora que abre o mapa, ele está abrindo o mapa no local onde está meu primeiro aluno, e esse primeiro aluno, vem completo. Com o marcador e o snippet preenchido de forma correta. Os problemas são o seguinte: 1 - Gostaria que o mapa abrisse em outro local, em outro endereço, porém ele abre direto no local do primeiro aluno. 2 - Ele está adicionando o marcador apenas do primeiro aluno, e ignorando o restante
segue meu código
public class MapaFragment extends SupportMapFragment implements OnMapReadyCallback {
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
LatLng posicao = pegaCoordenada("Rua Anchizes Ferreira Catanhede 239 , Parque das nações , Limeira");
if (posicao != null) {
CameraUpdate update = CameraUpdateFactory.newLatLngZoom(posicao, 17);
googleMap.moveCamera(update);
}
AlunoDAO dao = new AlunoDAO(getContext());
for (Aluno aluno : dao.buscaAlunos()) {
LatLng coordenada = pegaCoordenada(aluno.getEndereco());
if (coordenada != null) {
MarkerOptions marcador = new MarkerOptions();
marcador.position(coordenada);
marcador.title(aluno.getNome());
marcador.snippet(String.valueOf(aluno.getNota()));
googleMap.addMarker(marcador);
}
}
dao.close();
}
private LatLng pegaCoordenada(String endereco) {
Geocoder geocoder = new Geocoder(getContext());
try {
List<Address> resultados = geocoder.getFromLocationName("Rua João Picirilo, 274, Campos Elíseos, Limeira", 1);
if (!resultados.isEmpty()) {
LatLng posicao = new LatLng(resultados.get(0).getLatitude(), resultados.get(0).getLongitude());
return posicao;
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}