Android的强大表现在各个方面,在这里介绍一下其中的一个自动获取所在地理位置坐标的功能。Android中通过LocationManager来获取地理位置等相关信息的。
  首先,需要获取LocationManager实例。
  //获得当前位置的坐标
  LocationManager locationManager = (LocationManager)
  getSystemService(LOCATION_SERVICE);//获取LocationManager的一个实例
  locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
  10000, 0, locationListener);
  /*注册一个周期性的位置更新 每隔1000ms更新一次,并且不考虑位置的变化。
  最后一个参数是LocationListener的一个引用*/
  Location location = locationManager.getLastKnownLocation
  (LocationManager.GPS_PROVIDER);
  String latitude = Double.toString(location.getLatitude());//经度
  String longitude = Double.toString(location.getLongitude());//纬度
  String altitude = Double.toString(location.getAltitude());//海拔
  //输出文字
  TextView tv = (TextView) this.findViewById(R.id.local);
  tv.setText("latitude:"+latitude+" longitude:"+longitude
  +" altitude:"+altitude+" ");
  实现LocationListener的引用
  private final LocationListener locationListener = new LocationListener() {
  public void onLocationChanged(Location location) {
  //当坐标改变时触发此函数,如果Provider传进相同的坐标,它就不会被触发
  if (location != null) {
  String latitude = Double.toString(location.getLatitude());//经度
  String longitude = Double.toString(location.getLongitude());//纬度
  String altitude = Double.toString(location.getAltitude());//海拔
  //输出文字
  TextView tv = (TextView) findViewById(R.id.local);
  tv.setText("latitude:"+latitude+" longitude:"
  +longitude+" altitude:"+altitude+" ");
  }
  }
  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的转态在可用、暂时不可用和无服务三个状态直接切换时触发此函数
  }
  };
  最后我们在AndroidManifest.xml中加入GPS权限
  
  如果是在模拟器中调试,可以打开”Window” ?>”Show View” 中打开”Emulator Control” View即可手动设置,或通过KML和GPX文件来设置一个坐标。
  或者使用geo命令,开始?> 运行?>输入 telnet 5554,然后在命令行下输入 geo fix -39.4 116.9 326 ,这三个参数分别代表了经度、纬度和海拔(海拔可不写)
  这样我们就可以获取所在位置的坐标了

更多相关文章

  1. Android(安卓)下 Kernel Debug (Qualcomm Chipset)
  2. 丰富多彩的Android(安卓)onTouch事件
  3. Android处理各种触摸事件
  4. 2011.10.11——— android GestureDetector 测试OnGestureListen
  5. Android(安卓)屏幕滑动事件
  6. Android(安卓)View滑动
  7. android TextView 容纳不下内容,让字向左滚动的办法
  8. ArcGIS API for Android(安卓)案例教程 17
  9. Android(安卓)API指南(二)自定义控件04之 位置说明

随机推荐

  1. Webview之H5页面调用android的图库及文件
  2. Android从服务器上下载文件
  3. Android实践 -- 监听应用程序的安装、卸
  4. Android(安卓)ViewPager引导页
  5. /bin/bash: bison: command not found
  6. Android触摸事件(三)-触摸事件类使用实例
  7. android典型代码系列(二十一)------根据
  8. Android(安卓)解锁屏启动过程
  9. Android中的BroadCast简单使用
  10. nfs: server 192.168.0.3 not responding