我一直在尝试使用地址将坐标值从TextView
转换为Toast
,但在标有->
的行中出错。代码:
public void test() throws IOException {
TextView inicioLat = (TextView) findViewById(R.id.eInicioLat);
double tmp1 = Double.parseDouble(inicioLat.getText().toString());
TextView inicioLong = (TextView) findViewById(R.id.eInicioLong);
double tmp2 = Double.parseDouble(inicioLong.getText().toString());
-> Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses;
addresses = geocoder.getFromLocation(tmp1, tmp2, 1);
Toast.makeText(this, (CharSequence) addresses,Toast.LENGTH_LONG).show();
}
堆栈追踪:
04-19 09:41:26.303 31020-31020/? E/Zygote﹕ MountEmulatedStorage()
04-19 09:41:26.303 31020-31020/? E/Zygote﹕ v2
04-19 09:41:26.323 31020-31020/? E/SELinux﹕ [DEBUG] get_category: variable seinfo: default sensitivity: NULL, cateogry: NULL
04-19 09:41:30.493 31020-31020/greetrack.estg.ipvc.greentrack E/ViewRootImpl﹕ sendUserActionEvent() mView == null
04-19 09:41:35.003 31020-31020/greetrack.estg.ipvc.greentrack E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: greetrack.estg.ipvc.greentrack, PID: 31020
java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:4221)
at android.view.View.performClick(View.java:5155)
at android.view.View$PerformClick.run(View.java:20747)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5832)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at android.view.View$1.onClick(View.java:4216)
at android.view.View.performClick(View.java:5155)
at android.view.View$PerformClick.run(View.java:20747)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5832)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Caused by: java.lang.IllegalArgumentException: latitude == 225.0
at android.location.Geocoder.getFromLocation(Geocoder.java:126)
at greetrack.estg.ipvc.greentrack.Adicionar.test(Adicionar.java:96)
at greetrack.estg.ipvc.greentrack.Adicionar.locInicio(Adicionar.java:60)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at android.view.View$1.onClick(View.java:4216)
at android.view.View.performClick(View.java:5155)
at android.view.View$PerformClick.run(View.java:20747)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5832)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
我已在manifest
创建了权限。
答案 0 :(得分:2)
你要
java.lang.IllegalArgumentException:latitude == 225.0
这是因为 getFromLocation()不会将纬度和经度低于-90 或高于90 且低于-180 < / strong>或超过180 。
查看Google文档here。
根据您想要的精度将您的值除以10 ^ 6(1M)或更高的值。