您的位置:首页 > 业界新闻

GPS或NewWork获取当前位置经纬度

2012-05-17 17:26 344 查看
double latitude,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() { 

public void onLocationChanged(Location location) { //当坐标改变时触发此函数,如果Provider传进相同的坐标,它就不会被触发 

if (location != null) { 

Log.i("SuperMap", "Location changed : Lat: " 

+ location.getLatitude() + " Lng: " 

+ location.getLongitude()); 





public void onProviderDisabled(String provider) { 

// Provider被disable时触发此函数,比如GPS被关闭 



public void onProviderEnabled(String provider) { 

// Provider被enable时触发此函数,比如GPS被打开 



public void onStatusChanged(String provider, int status, Bundle extras) { 

// Provider的转态在可用、暂时不可用和无服务三个状态直接切换时触发此函数 



};

locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,1000, 0,locationListener); 

Location location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 

if(location != null){

latitude = location.getLatitude(); //经度 

longitude = location.getLongitude(); //纬度 

}

}

加入权限:

<!-- 连接互联网权限 -->

<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" />

复制代码

GPS定位更精确一点
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息