通过android自动定位功能获取地理位置
2014-02-17 16:33
399 查看
package csd.sed; import java.io.IOException; import java.util.List; import android.app.Activity; import android.content.Context; import android.location.Address; import android.location.Criteria; import android.location.Geocoder; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.widget.TextView; public class TestsewActivity extends Activity { private final String provider = LocationManager.NETWORK_PROVIDER; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); criteria.setAltitudeRequired(false); criteria.setBearingRequired(false); criteria.setCostAllowed(true); criteria.setPowerRequirement(Criteria.POWER_LOW); Location location = locationManager.getLastKnownLocation(provider); updateWithNewLocation(location); locationManager.requestLocationUpdates(provider, 2000, 10,locationListener); } private final LocationListener locationListener = new LocationListener() { public void onLocationChanged(Location location) { updateWithNewLocation(location); } public void onProviderDisabled(String provider){ updateWithNewLocation(null); } public void onProviderEnabled(String provider){ } public void onStatusChanged(String provider, int status, Bundle extras){ } }; private void updateWithNewLocation(Location location) { String latLongString; TextView myLocationText; double lat = 0; double lng=0; myLocationText = (TextView)findViewById(R.id.test2); if (location != null) { lat = location.getLatitude(); lng = location.getLongitude(); latLongString = "纬度:" + lat + "\n经度:" + lng; } else { latLongString = "无法获取地理信息"; } List<Address> addList = null; Geocoder ge = new Geocoder(this); try { addList = ge.getFromLocation(lat, lng, 1); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(addList!=null && addList.size()>0){ for(int i=0; i<addList.size(); i++){ Address ad = addList.get(i); latLongString += "\n"; latLongString += ad.getCountryName() + ";" + ad.getLocality(); } } myLocationText.setText("您当前的位置是:\n" +latLongString); } }
权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
下载源码:
链接: http://pan.baidu.com/s/1dDl9p77 源码文件名:getLocation.rar
相关文章推荐
- IP定位:通过qqwry.bat IP库获取指定IP的地理位置信息
- Android 通过经纬度获取地理位置信息
- Android通过基站获取地理位置
- android 通过GPS获取用户地理位置并监听位置变化
- Android Map Api 使用和开发(2) 定位我的位置、地图弹出泡泡、通过经纬度获取地址
- Android通过百度地图API用Service和Alarm在后台定时获取地理位置信息
- android基站定位程序获取地理位置
- android 通过GPS获取用户地理位置并监听位置变化
- android 通过GPS获取用户地理位置并监听位置变化
- Android Map Api 使用和开发(2) 定位我的位置、地图弹出泡泡、通过经纬度获取地址
- Android 通过经纬度获取地理位置信息
- android 通过GPS获取用户地理位置并监听位置变化
- 【代码】android 通过GPS获取用户地理位置并监听位置变化
- Android高德地图设置中心点图标,通过逆地理编码实时获取中心点的经纬度和详细位置
- Android Map Api 使用和开发(2) 定位我的位置、地图弹出泡泡、通过经纬度获取地址
- Android通过百度地图API用Service和Alarm在后台定时获取地理位置信息
- android 定位 获取地理位置 百度地图
- android 通过GPS获取用户地理位置并监听位置变化
- Android百度定位导航之基于百度地图移动获取位置和自动定位
- Android Map Api 使用和开发(2) 定位我的位置、地图弹出泡泡、通过经纬度获取地址