我正在制作一个 android 应用程序。在我的应用程序中,我想获取我当前位置的城市名称,但我在我的国家/地区遇到了问题。如果我使用 Google Geode API,它无法识别它,例如:当我尝试此查询时,它必须使用纬度和经度返回有关我的位置的信息;它不起作用。
这是查询:http://maps.googleapis.com/maps/api/geocode/json?latlng=32.3117,35.0272&sensor=true
同样,当我使用这段代码时,我得到了 address= null:
Geocoder gCoder = new Geocoder(this);
List<Address> addresses;
try {
addresses = gCoder.getFromLocation(lat, lng, 5);
Log.e("get adderess", addresses + "");
if (addresses != null && addresses.size() > 0) {
city = addresses.get(0).getLocality();
System.out.print(addresses.get(0).getLocality());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
问题只在我的国家:(
任何帮助如何解决它??
最佳答案
这段代码对我来说很好。它代表你的纬度和经度给你城市名称和国家名称。但在某些地方它没有给你城市名称,即亚洲等(某些地方)。
Geocoder geocoder = new Geocoder(getBaseContext(), Locale.getDefault());
Address address;
List<Address> list;
list = geocoder.getFromLocation(latitude,longitude,1);//33.64600, 72.96115
address = list.get(0);
String cityname = address.getLocality();
String countryname = address.getCountryName();
Log.d("cityname",cityname.toString());
Log.d("countryname",countryname.toString());
另请在 AndroidManifest.xml 中添加以下 uses-permission 节点
<uses-permission android:name="android.permission.INTERNET" />
关于android - 无法获取我当前所在国家/地区的城市名称,android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20332257/