今天在Android项目中要实现一个通过GPS或NetWork来获取当前移动终端设备的经纬度功能。要实现该功能要用到Android Framework 中的 LocationManager 类。下面我就直接贴上主要的代码说明如何实现通过GPS或NetWork来获取实时位置的经纬度。
[c-sharp]
view plain
copy
private double latitude=0.0;
private double longitude =0.0; LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){ Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(location !=
null){ latitude = location.getLatitude(); longitude = location.getLongitude(); } }
else{ LocationListener locationListener =
new LocationListener() { @Override
public void onStatusChanged(String provider,
int status, Bundle extras) { } @Override
public void onProviderEnabled(String provider) { } @Override
public void onProviderDisabled(String provider) { } @Override
public void onLocationChanged(Location location) {
if (location !=
null) { Log.e(
"Map",
"Location changed : Lat: " + location.getLatitude() +
" Lng: " + location.getLongitude()); } } }; locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,1000, 0,locationListener); Location location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
if(location !=
null){ latitude = location.getLatitude(); longitude = location.getLongitude(); } }
同时别忘了在AndroidManifest.xml文件中加入如下权限:
<!-- 连接互联网Internet权限 --> <uses-permission android:name="android.permission.INTERNET" /> <!-- GPS定位权限 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
说明:本人在真机中测试上述的功能,可以正确获取得了移动终端实时位置的经纬度。
转载请注明原文地址: https://ju.6miu.com/read-1202731.html