Я очень надеюсь, что кто-то может мне помочь с этим. Я пытаюсь получить долготу и широту по адресу, который вводит пользователь (например, 1888 NW 14th Ave Miami FL 33189), и сохранить его, который обращается к долготе и широте в базе данных о пожаре. Я попробовал этот код ниже, но он ничего не сохраняет. Пожалуйста, скажите мне, что я делаю неправильно и как я могу это исправить. Заранее спасибо
your_address = (EditText)findViewById(R.id.baddress);
your_city = (EditText)findViewById(R.id.bcity);
your_state = (EditText)findViewById(R.id.bstate);
your_zipcode = (EditText)findViewById(R.id.bzipcode);
final FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
final FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference().child("Uzers/location");
DatabaseReference update = rootRef.child("Uzers").child(uid);
String address = your_address.getText().toString();
String city = your_city.getText().toString();
String state = your_state.getText().toString();
String zipcode = your_zipcode.getText().toString();
GeoFire geoFire = new GeoFire(rootRef);
Geocoder geocoder = new Geocoder(getBaseContext(), Locale.getDefault());
List<Address> addressList;
double lat=0;
double lang=0;
//7,3,4,6
try {
addressList = geocoder.getFromLocationName(address+city+state+zipcode, 1);
Address location=addressList.get(0);
lat=location.getLatitude();
lang=location.getLongitude();
geoFire.setLocation(uid, new GeoLocation(lat, lang), new GeoFire.CompletionListener() {
@Override
public void onComplete(String key, DatabaseError error) {
if (error != null) {
System.err.println("There was an error saving the location to GeoFire: " + error);
} else {
System.out.println("Location saved on server successfully!");
}
}
});
} catch (IOException e) {
e.printStackTrace();
System.err.println("There was an error saving the location to GeoFire: " + e);
}