我在Android中遇到Geocoder的奇怪问题。 我在伦敦硬编码lat和long,我试图从Activity中获取数据,如在Activity
中 Geocoder coder = new Geocoder(this,Locale.getDefault());
int n=coder.getFromLocation(51.6, 0.083333, 1).size();
但我总是得到n = 0,我有清单
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION">
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION">
</uses-permission>
我还需要别的东西才能让它发挥作用吗?我启用了GPS。
答案 0 :(得分:0)
我不知道你身边发生了什么,
但我只是在我的Activity' onCreate() method
中复制和编写代码并返回 n = 1
也是进口包装,
import java.util.Locale;
import android.location.Geocoder;
并在onCreate()中编写简单的
Geocoder coder = new Geocoder(this,Locale.getDefault());
try {
int n=coder.getFromLocation(51.6, 0.083333, 1).size();
Log.i("SIZEEEEEEEEE", "==================="+n);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这是我的logcat输出
11-02 16:07:29.618: INFO/SIZEEEEEEEEE(291): ===================1
并且是的,我没有添加任何额外的权限,只有互联网。