Minha localização no Maps

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:

  1. A classe está herdando Fragment. Então, ao invés de this, estou usando getActivity() 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.

  1. Estou usando JAVA, não estou usando KOTLIN. Se enviar um link, veja se o resultado foi em Kotlin, por gentileza… :confused:
    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

Tente fazer o seguinte :
Declare um atributo privado do tipo Context no seu Fragment.

private Context myContext;

Implemente o método onAttach de Fragment
Dentro do método faça o seguinte :

@Override
public void onAttach(Context context) {
this.myContext = context;
super.onAttach(context);
}

E então nessa linha
mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(myContext);

Bom, não deu erro
Mas retornou null

Estou tentando implementar uma Utils que me recomendaram aqui
Fiz o teste com o exemplo deles mesmo, ela capturou corretamente. Estou estudando a classe, foi abstraido muita coisa, deixando tudo bem simples mesmo.

[EDIT]
Consegui usando esta ferramenta mesmo. Tive que adaptar algumas coisas, mas consegui direitinho.