Obtenir la position actuel avec le gps

Résolu/Fermé
histl4000 Messages postés 129 Date d'inscription lundi 3 juillet 2017 Statut Membre Dernière intervention 12 juillet 2018 - Modifié le 22 mai 2018 à 11:37
histl4000 Messages postés 129 Date d'inscription lundi 3 juillet 2017 Statut Membre Dernière intervention 12 juillet 2018 - 30 mai 2018 à 19:41
Bonjour,
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback, IDirection {

    private GoogleMap mMap;

    private double un;
    private double deux;

    private LocationManager locationManager;
    private LocationListener locationListener;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);
        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);

        locationManager = (LocationManager) this.getSystemService(LOCATION_SERVICE);
        locationListener = new LocationListener() {
            @Override
            public void onLocationChanged(Location location) {
                un = location.getLatitude();
                deux = location.getLongitude();
                Log.d("Locationnnnnnn : ", location.toString());
            }

            @Override
            public void onStatusChanged(String s, int i, Bundle bundle) {

            }

            @Override
            public void onProviderEnabled(String s) {

            }

            @Override
            public void onProviderDisabled(String s) {

            }
        };
        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            return;
        }
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);


    }


J'ai suivi plusieurs tutoriel, malgré cela je n'arrive pas à obtenir la position actuelle sur la carte google Map. Je veux l'obtenir pour pouvoir créer un itinéraire. En faisant le code ci-dessus la variable un et deux sont égal à 0. Donc je ne sait pas récupérer la position. J'ai ensuite fait un Toast dans "public void onLocationChanged(Location location)" j'ai remarqué grâce à cela que je ne passais même pas dedans. Avez vous une idée ? Merci
A voir également:

1 réponse

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 3 894
22 mai 2018 à 11:43
Bonjour,

Les permissions ont-elles été ajoutées au fichier Manifest ?
Testes-tu bien sur un device réel ?
As-tu testé que ton GPS_Provider est "branché" ? Sinon, il faut utiliser le Nework_provider

Pour info,
requestLocationUpdates()
prend en paramètres l'intervalle min (en ms et/ou en m) entre 2 valeurs. Passer 0 ne me semble pas judicieux...
1
histl4000 Messages postés 129 Date d'inscription lundi 3 juillet 2017 Statut Membre Dernière intervention 12 juillet 2018 3
30 mai 2018 à 19:41
Re bonjour,
Effectivement il manquait les permissions dans le Manifest. Merci.
0