0
votes

Comment obtenir la latitude et la longitude de l'adresse que les utilisateurs entrent dans la zone de texte

J'ai besoin d'un peu d'aide avec mon code. J'essaie de faire l'adresse des utilisateurs qu'ils entrent à partir de l'EditText et d'obtenir cette adresse LattiTuTde et de longitude et enregistrez cela dans GeOfire. Je suis capable d'obtenir les utilisateurs actuels longitude et la latitude et je l'enregistrer à GeoFire, mais que si l'utilisateur souhaitait utiliser une adresse différente et que je reçois la latitude et la longitude de cette adresse spécifique à la place et de l'enregistrer dans Geofire comment irai-je cette? J'espère que ma question n'est pas ne pas vous dérouler. Vous trouverez ci-dessous mon code merci d'avance.

 FusedLocationClient.getLastLocation()
            .addOnSuccessListener(this, new OnSuccessListener<Location>() {
                @Override
                public void onSuccess(final Location location) {
                    if (location != null) {
                        Double latittude = location.getLatitude();
                        Double longitude = location.getLongitude();





                        String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
                        DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users").child("address");
                        DatabaseReference update =  reference.child("Users").child(uid);

                        GeoFire geoFire=new GeoFire( reference);





                        geoFire.setLocation(uid, new GeoLocation(latittude, longitude), new GeoFire.CompletionListener() {
                            @Override
                            public void onComplete(String key, DatabaseError error) {
                                if (error != null) {
                                    System.err.println("There was an error saving your location to GeoFire: " + error);
                                } else {
                                    System.out.println("Location saved on the server successfully!");
                                }
                            }
                        });


0 commentaires

3 Réponses :


0
votes

1 commentaires

Merci d'avoir répondu. Je vais y jeter un coup d'oeil. Merci



0
votes

Aussi vous pouvez utiliser un simple géocodage inverse xxx

regarder pour plus d'informations: https: // Javapapers .Com / Android / Android-Get-Adresse-avec-Street-Name-Nom-Ville-for-location-with-geocoding /


0 commentaires

0
votes

Essayez-le

Geocoder coder = new Geocoder(this);
List<Address> address;
double lat, lang;

try {
    address = coder.getFromLocationName(strAddress,5);
    if (address==null) {
       return null;
    }
    Address location=address.get(0);
    lat = location.getLatitude();
    lang = location.getLongitude();
}


0 commentaires