OnLocationChange GetLongitude возвращает GetLongitude при установке текста TextView. - PullRequest
0 голосов
/ 23 октября 2019

Я создал GoogleApiClient внутри CheckInFragment, чтобы собрать долготу и широту и установить для него TextView. Однако когда я получаю долготу, чтобы установить текст, он возвращает значение широты. OnLocationChanged печатает журнал полного местоположения с правильной широтой / долготой.

CheckIn.java

...
public class CheckIn  {
    private UUID mId;
    private String mTitle;
    private String mPlace;
    private String mDetails;
    private Date mDate;
    private double mLatitude;
    private double mLongitude;

    public double getLatitude() { return mLatitude; }

    public void setLatitude(double mLatitude) { this.mLatitude = mLatitude; }

    public double getLongitude() {
        return mLongitude;
    }

    public void setLongitude(double mLongitude) { this.mLongitude = mLongitude; }

...

CheckInFragment.java

       mClient = new GoogleApiClient.Builder(getActivity())
                .addApi(LocationServices.API)
                .addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {

                    @Override
                    public void onConnected(@Nullable Bundle bundle) {
                        LocationRequest request = LocationRequest.create();
                        request.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
                        request.setNumUpdates(1);
                        request.setInterval(0);

                        if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                            return;
                        }

                        LocationServices.FusedLocationApi.requestLocationUpdates(mClient, request, new LocationListener() {
                            @Override
                            public void onLocationChanged(Location location) {

                                mCheckIn.setLatitude(location.getLatitude());
                                mCheckIn.setLongitude(location.getLongitude());

                                Log.i("LOCATION:", "Got a fix: " + location);
                            }
                        });
                    }

                    @Override
                    public void onConnectionSuspended(int i) {
                    }

...

mLocation = (TextView) v.findViewById(R.id.checkin_location_text);
mLocation.setText("Latitude " + mCheckIn.getLatitude() + " Longitude " + mCheckIn.getLongitude());

Журнал местоположения, отображающий правильноеЗначение долготы:

I/LOCATION:: Got a fix: Location[fused -26.717400,153.062150 hAcc=20 et=+6h9m42s842ms alt=0.0 vel=0.0 bear=90.0 vAcc=40 sAcc=??? bAcc=??? {Bundle[mParcelledData.dataSize=52]}]

TextView, отображающий долготу в виде широты: https://ibb.co/zNPTS8p

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...