zoukankan      html  css  js  c++  java
  • 《第一行代码》学习笔记43-位置服务(1)

    1.基于位置的服务简称LBS,工作原理是利用无线电通讯网络或GPS等定位方式来确定出移动设备所在的位置。

    2.选择一个位置提供器来确定设备当前的位置。Android中三种位置提供器,GPS_PROVIDER, NETWORK_PROVIDER
    和PASSIVE_PROVIDER。

    3.GPS定位:精准度比较高,但是非常耗电;网络定位:精准度稍差,但耗电量较少。对位置精度要求非常高时,使用
    GPS_PROVIDER,一般情况,使用NETWORK_PROVIDER更加划算。

    4.将选择好的位置提供器传入到getLastKnownLocation()方法中,可以得到一个Location对象,如下:

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

    设备位置改变时,为了获取到最新的位置信息,LocationManager提供了一个requestLocationUpdates()方法,只要传入
    一个LocationListener实例,简单配置几个参数就可以。

    locationManager.requestLocationUpdates((LocationManager.GPS_PROVIDER, 5000, 10, 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) {
            }
    });
    

    5.requestLocationUpdates()方法接收四个参数,第一个是位置提供器的类型;第二个是监听位置变化的时间间隔,以毫秒为单位;
    第三个是监听位置变化的距离时间,以米为单位;第四个是LocationListener监听器。如此,LocationManager每隔5秒钟会检测下
    位置的变化情况,当移动距离超过10米的时候,会调用LocationListener的onLocationChanged()方法,并把新的位置信息作为参数
    传入。

    6.关于反向地理编码:Geocoding API的工作原理,即在手机端向谷歌的服务器发起一条HTTP请求,并将经纬度的值作为参数一同
    传递过去,然后服务器会将这个经纬值转换成看懂的位置信息,再将这些信息返回给手机端,最后手机端去解析服务器返回的信息,
    进行处理。

  • 相关阅读:
    maven surefire入门
    编译原理随笔4(自下而上的语法分析-递归法)
    编译原理随笔3(自上而下的语法分析-推导法)
    编译原理随笔1
    LeetCode刷题笔记-DP算法-取数问题
    算法刷题笔记-stack-四则运算
    LeetCode刷题笔记-递归-反转二叉树
    Beta里程碑总结
    评价cnblogs.com的用户体验
    我们的团队目标
  • 原文地址:https://www.cnblogs.com/Iamasoldier6/p/5052757.html
Copyright © 2011-2022 走看看