Fiz exatamente o que pede o video, porém estou com um problema no método pegaCoordenadaDoEndereco(), está lançando IOException sempre. O erro começa no getFromLocationName(). Segue meu código com o erro...
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 posicaoDaEscola = pegaCoordenadaDoEndereco("Rua Vergueiro 3185, Vila Mariana, Sao Paulo");
if(posicaoDaEscola != null){
CameraUpdate update = CameraUpdateFactory.newLatLngZoom(posicaoDaEscola, 17);
googleMap.moveCamera(update);
}
// AlunoDAO alunoDAO = new AlunoDAO(getContext());
//
// for(Aluno aluno : alunoDAO.buscaAlunos()){
//
// LatLng coordenada = pegaCoordenadaDoEndereco(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);
// }
// }
// alunoDAO.close();
}
private LatLng pegaCoordenadaDoEndereco(String endereco){
try {
Geocoder geocoder = new Geocoder(getContext());
List<Address> resultados = geocoder.getFromLocationName(endereco, 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;
}
}
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: java.io.IOException: grpc failed
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: at android.location.Geocoder.getFromLocationName(Geocoder.java:178)
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: at agenda.app.agenda.MapaFragment.pegaCoordenadaDoEndereco(MapaFragment.java:73)
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: at agenda.app.agenda.MapaFragment.onMapReady(MapaFragment.java:40)
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: at com.google.android.gms.maps.zzaj.zza(Unknown Source)
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: at com.google.android.gms.maps.internal.zzaq.onTransact(Unknown Source)
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: at android.os.Binder.transact(Binder.java:387)
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: at gl.b(:com.google.android.gms.DynamiteModulesB:20)
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: at com.google.android.gms.maps.internal.bf.a(:com.google.android.gms.DynamiteModulesB:5)
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: at com.google.maps.api.android.lib6.impl.bb.run(:com.google.android.gms.DynamiteModulesB:5)
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: at android.os.Handler.handleCallback(Handler.java:739)
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95)
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: at android.os.Looper.loop(Looper.java:148)
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5417)
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: at java.lang.reflect.Method.invoke(Native Method)
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
09-11 01:04:42.236 14980-14980/agenda.app.agenda W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
09-11 01:04:42.241 14980-15033/agenda.app.agenda D/EGL_emulation: eglMakeCurrent: 0xae9d4780: ver 2 0 (tinfo 0xae9d27c0)