Я получаю широту и долготу, но не могу выполнить обратное геокодирование, я видел так много руководств, и они работают правильно, а мой нет!
Вот мой код:
if (mLastLocation != null) {
double latitude = mLastLocation.getLatitude();
double longitude = mLastLocation.getLongitude();
txtCoordinates.setText(latitude + " / " + longitude);
Geocoder geoCoder = new Geocoder(getBaseContext(), Locale.getDefault());
try {
List<Address> addresses = geoCoder.getFromLocation(latitude, longitude, 1);
String strCompleteAddress= "";
if (addresses.size() > 0)
{
for (int i=0; i<addresses.get(0).getMaxAddressLineIndex();i++)
strCompleteAddress+= addresses.get(0).getAddressLine(i) + "\n";
}
Log.i("MyLocTAG => ", strCompleteAddress);
Toast.makeText(getBaseContext(), strCompleteAddress, Toast.LENGTH_LONG).show();
}
catch (IOException e) {
Log.i("MyLocTAG => ", "this is the exception part");
e.printStackTrace();
}
Это мое IOException!
W/System.err: java.io.IOException: Timed out waiting for response from server
W/System.err: at android.location.Geocoder.getFromLocation(Geocoder.java:136)
W/System.err: at com.example.beultimate.location.MainActivity.displayLocation(MainActivity.java:136)
W/System.err: at com.example.beultimate.location.MainActivity.onLocationChanged(MainActivity.java:227)
W/System.err: at com.google.android.gms.internal.zzart$zzb$1.zza(Unknown Source:2)
W/System.err: at com.google.android.gms.internal.zzart$zzb$1.zzs(Unknown Source:2)
W/System.err: at com.google.android.gms.internal.zzaaz.zzb(Unknown Source:8)
W/System.err: at com.google.android.gms.internal.zzaaz$zza.handleMessage(Unknown Source:14)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:106)
W/System.err: at android.os.Looper.loop(Looper.java:164)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6494)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
I/Choreographer: Skipped 300 frames! The application may be doing too much work on its main thread.
У меня также есть другая версия этого кода, в которой я получаю nullpointerexception
, потому что список пуст!