Android Reverse Geocoding дает разные результаты на разных устройствах - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь определить местоположение моих пользователей, извлекая данные о городе и адресе из широты и долготы, и это работает нормально, но когда я пытаюсь запустить на некоторых устройствах с зефиром, обратное геокодирование дает название района, но маркер карты указывает нажелаемое месторасположение.Ниже мой код.Где ошибка?

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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...