Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用网络提供程序获取当前位置名称_Android_Geolocation - Fatal编程技术网

Android 使用网络提供程序获取当前位置名称

Android 使用网络提供程序获取当前位置名称,android,geolocation,Android,Geolocation,我试过使用这个代码。它没有给出位置名称。它只给出纬度和经度 String latLongString; if (location != null) { double lat = location.getLatitude(); double lng = location.getLongitude(); latLongString = "Lat:" + lat + "\nLong:" + lng; } else {

我试过使用这个代码。它没有给出位置名称。它只给出纬度和经度

String latLongString;

if (location != null) 
{       
  double lat = location.getLatitude();    
  double lng = location.getLongitude();    
  latLongString = "Lat:" + lat + "\nLong:" + lng;    
   }
      else 
   {
       latLongString = "No location found"; 
   }

myLocationText.setText("Your Current Position is:\n" + latLongString);  
试试这个:

LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
bestProvider = locationManager.getBestProvider(criteria, true);
location = locationManager.getLastKnownLocation(bestProvider);
if (location != null) {
    lat = location.getLatitude();
    lng = location.getLongitude();
} else {
    location = new Location("");
    location.setLatitude((double) 38.0000000000);
    location.setLongitude((double) -97.0000000000);
    lat = location.getLatitude();
    lng = location.getLongitude();
}
默认情况下,“位置”是指坐标,即纬度和经度 这就是你得到的。以获取您需要的实际地址 对坐标进行地理编码

要获取当前位置名称,需要遵循两个步骤

1) 为了得到你现在所做的爱

现在

2) 使用Geocoder类将lat long转换为地址


有关链接和详细表达,请参见

您正在实际设备或emulator中进行尝试?这不是
Location
应该提供的吗?我正在实际设备中进行尝试,但它不提供不,它应该只提供当前的loation名称。但它给了我当前的位置lat和lon值,只是扩展了上面的答案。默认情况下,位置是指坐标,即纬度和经度,这是您得到的坐标。要获得实际地址,您需要对坐标进行地理编码。但要使用geocorder类获取位置名称,我们需要互联网连接。但是有没有一种方法可以在不连接互联网的情况下获取位置名称?