Olá pessoas,
Gostaria de saber se alguém tem um exemplo de como posso pegar minha localização e exibir no mapa (aquela bolinha azul).
Segui uns tutoriais, mas até agora não tive sucesso em nenhum deles.
O mais recente, foi o seguinte:
public void getDeviceLocation() {
mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(getActivity());
//
try {
if (true) {
Task location = mFusedLocationProviderClient.getLastLocation();
location.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
//Log.d(TAG, "onComplete: found location");
Location currentLocation = (Location) task.getResult();
moveCamera(new LatLng(currentLocation.getLatitude(), currentLocation.getLongitude()), frmDados.DEFAULT_ZOOM);
} else {
//Log.d(TAG, "onComplete: current location is null");
Toast.makeText(context, "Unable to get current location", Toast.LENGTH_SHORT).show();
}
}
});
}
} catch (SecurityException e) {
//Log.d(TAG, e.getMessage());
}
}
Detalhes:
- A classe está herdando Fragment. Então, ao invés de
this
, estou usandogetActivity()
e provavelmente por este motivo está dando a mensagem de erro.
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.app.nomeDoProjeto, PID: 2004
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/api/Api$zzf;
at com.google.android.gms.location.LocationServices.<clinit>(Unknown Source)
at com.app.nomeDoProjeto.FrmPrincipalMap$override.getDeviceLocation(FrmPrincipalMap.java:53)
Se alguém puder ajudar, ficaria grato.
Antes de enviar link da documentação, lembre-se: Não é que não li a documentação, eu li sim, só não estou sabendo implementar. Por isso estou buscando tutoriais ou mesmo projetos que eu possa usar como exemplo.
- Estou usando JAVA, não estou usando KOTLIN. Se enviar um link, veja se o resultado foi em Kotlin, por gentileza…
Em Kotlin eu consegui fazer, mas o projeto está em Java (sem possibilidade de mudar agora). Não que eu não queira, eu só não mando no projeto.
Grato pela atenção pessoal