Я пытаюсь определить местоположение моих пользователей, извлекая данные о городе и адресе из широты и долготы, и это работает нормально, но когда я пытаюсь запустить на некоторых устройствах с зефиром, обратное геокодирование дает название района, но маркер карты указывает нажелаемое месторасположение.Ниже мой код.Где ошибка?
if (centerLatLng != null) {
Geocoder geocoder = new Geocoder(CNM_MapsActivity.this,
Locale.getDefault());
currentLongitude=centerLatLng.longitude;
currentLatitude=centerLatLng.latitude;
List<android.location.Address> addresses = new ArrayList<Address>();
try {
addresses = geocoder.getFromLocation(centerLatLng.latitude,
centerLatLng.longitude, 1);
} catch (IOException e) {
e.printStackTrace();
}
if (addresses != null && addresses.size() > 0) {
sdt=addresses.get(0).getAdminArea();
csdt=addresses.get(0).getLocality();
//toolbar.setTitle(csdt);
tyssy=addresses.get(0).getPremises();//addresses.get(0).getPremises();
String addresl=addresses.get(0).getAddressLine(0);
String ftrn=addresses.get(0).getFeatureName();
String sblc=addresses.get(0).getSubLocality();
String sbna=addresses.get(0).getSubAdminArea();
ttls.setText(csdt);
// if(Character.isDigit(addresses.get(0).getAddressLine(0).charAt(0))){
// tyssy ="Prem Nagar"; //addresses.get(0).getAddressLine(1);
// }
// else if(addresses.get(0).getAddressLine(0).startsWith("Lane")){
// tyssy ="Prem Nagar"; // addresses.get(0).getAddressLine(1);
// }
// else {
// tyssy ="Prem Nagar"; // addresses.get(0).getAddressLine(0);
// }
// mLocationTextView.setText("Click To Set Your Location");
// progressDialog.dismiss();
// txtLocationAddress.setText(String.valueOf(centerLatLng.latitude)+
// String.valueOf(centerLatLng.longitude));
txtLocationAddress.setText(addresl);
// Toast.makeText(MN_MapsActivity.this,"State : "+sdt+"\n"+"city : "+csdt+"\n"+"Premises : "+String.valueOf(tyssy)+"addrs :" +addresl+"\n"+"sblc :"+sblc+"\n"+"featy : "+ ftrn+"\n"+"subadm : "+sbna,Toast.LENGTH_LONG).show();
}
}
else{
// progressDialog.dismiss();
// Toast.makeText(CNM_MapsActivity.this, "Error Please Try Again", Toast.LENGTH_SHORT).show();
Snackbar.make(mn,"Error Please Try Again",Snackbar.LENGTH_SHORT).show();
// onResetMap();
}