• 《第一行代码》学习笔记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请求,并将经纬度的值作为参数一同
    传递过去,然后服务器会将这个经纬值转换成看懂的位置信息,再将这些信息返回给手机端,最后手机端去解析服务器返回的信息,
    进行处理。

  • 相关阅读:
    lombk在IDEA中报ClassNotFoundException错误
    Groovy在不同JDK版本下的性能差异
    Groovy中那些神奇注解之InheritConstructors
    Groovy中那些神奇注解之ToString
    Groovy中那些神奇注解之Memoized
    写个自己的远程桌面
    JAVA的BIT数组
    基于JDK 8的Dubbo Admin
    走进Groovy (二)
    走进Groovy (一)
  • 原文地址:https://www.cnblogs.com/Iamasoldier6/p/5052757.html
Copyright © 2020-2023  润新知