Java 根据城市、邮政编码或街道名称获取纬度和经度
在我当前的android应用程序中,我希望根据输入的城市名称、街道名称或邮政编码获取地理坐标。我怎样才能做到这一点 致以最良好的祝愿, 罗尼检查一下这个方法 像这样使用它:Java 根据城市、邮政编码或街道名称获取纬度和经度,java,android,android-emulator,android-widget,Java,Android,Android Emulator,Android Widget,在我当前的android应用程序中,我希望根据输入的城市名称、街道名称或邮政编码获取地理坐标。我怎样才能做到这一点 致以最良好的祝愿, 罗尼检查一下这个方法 像这样使用它: List<Address> addressList = geoCoder.getFromLocationName(cityName, 1); Address address = addressList.get(0); if(address.hasLatitude() && address.hasL
List<Address> addressList = geoCoder.getFromLocationName(cityName, 1);
Address address = addressList.get(0);
if(address.hasLatitude() && address.hasLongitude()){
double selectedLat = address.getLatitude();
double selectedLng = address.getLongitude();
}
List addressList=geoCoder.getFromLocationName(cityName,1);
地址=地址列表。获取(0);
if(address.hasLatitude()&&address.hasLatitude()){
双击lat=address.getLatitude();
双击lng=address.getLongitude();
}
您好,请尝试以下代码从给定地址获取地理编码点
List<Address> foundGeocode = null;
/* find the addresses by using getFromLocationName() method with the given address*/
foundGeocode = new Geocoder(this).getFromLocationName("address here", 1);
foundGeocode.get(0).getLatitude(); //getting latitude
foundGeocode.get(0).getLongitude();//getting longitude
List foundGeocode=null;
/*使用给定地址的getFromLocationName()方法查找地址*/
foundGeocode=新地理编码器(this).getFromLocationName(“此处地址”,1);
get(0.getLatitude()//获得自由
getgeocode.get(0.getLongitude()//获得经度
嗨
有一个非常好的网站叫做
世界地名录,其中包含您需要的数据
需要,在一个整洁、可下载的文件中(通过
城市名称)
在主页上,单击链接
也就是说:
其他统计数字……各种
统计:表格、地图和
可下载数据
在弹出的页面中,单击
在链接上显示:
popdata(1.4 MB)
解压文件,你就知道了
该数据库是免费的主数据库
包括
纬度、经度和人口
数据……等等
从以下位置获取此信息:试试这个
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();
}
Geocoder-Geocoder=new-Geocoder(getBaseContext(),Locale.getDefault());
试一试{
列表地址=geoCoder.getFromLocation(纬度,经度,1);
字符串strCompleteAddress=“”;
//如果(地址.size()>0)
//{
对于(int i=0;i根据其他答案,我认为Geocoder
可能是更好的解决方案,而不是下载位置和坐标数据库。