Я создал 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