Adnroid GPS

博客主要介绍了GPS技术实现定位功能的相关内容。包括添加权限,使用LocationManager获取系统服务,通过Location类获取纬度、经度、海拔等信息。还说明了当位置改变时获取地址信息的方法,以及位置提供器的类型。

GPS技术实现定位功能

1、加权限
2、LocationManaget manager = getSystemService(Location_Service)
3、Location:位置类
getlatude:获取纬度
getlongtitude:获取经度
getAltitude:获取海拔

当位置发生改变时获得地址信息,调用LocationManager中的方法
requestLocationUpdate(位置提供器,为使变化的时间间隔,位置变化的距离间隔,事件监听(LicationListener))

位置提供器:
LocationProvider:LocationManager.NETWORK_PROVIDER
LocationProvider:LocationManager.GPS_PROVIDER

权限:

// An highlighted block
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

// An highlighted block
public class MainActivity extends AppCompatActivity {
    private LocationManager manager;
    private String[] permission = new String[]{Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION};//要申请订单权限
    private boolean ispermission;
    private boolean isok;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        manager = (LocationManager) getSystemService(LOCATION_SERVICE);//获得定位的一个管理类

        initPermission();//申请权限


        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {

            return;
        }
        manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
    }

    LocationListener locationListener = new LocationListener() {
        @Override
        public void onLocationChanged(Location location) {
            double latitude = location.getLatitude();//获取经度
            Log.e("##########经度",latitude+"");
            double longitude = location.getLongitude();//获取纬度
            Log.e("##########纬度",longitude+"");
            double altitude = location.getAltitude();//获取海拔
            Log.e("##########海拔",altitude+"");

        }

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

        }

        @Override
        public void onProviderEnabled(String provider) {

        }

        @Override
        public void onProviderDisabled(String provider) {

        }
    };

    public void initPermission(){
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
            for (String p:permission) {
                if(checkSelfPermission(p) != PackageManager.PERMISSION_GRANTED){
                    ispermission = true;
                    break;
                }
            }
            if(ispermission){
                requestPermissions(permission,500);
            }
        }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if(requestCode == 500){
            for(int i=0;i<grantResults.length;i++){
                if(grantResults[i] != PackageManager.PERMISSION_GRANTED){
                     isok = true;
                }
            }
        }
    }
基于ssm+vue的流浪动物救助平台管理系统:前端 vue、elementui,后端 maven、springmvc、spring、mybatis;角色分为管理员、用户;集成宠物领养、宠物挂失、宠物用品等功能于一体的系统。## 功能介绍### 用户- 基本功能:登录、注册、退出- 网站首页:主导航栏,轮播图,宠物用品推荐,宠物资讯,宠物领养展示- 宠物用品:用品列表展示,用品详情,购物车,结算,支付- 宠物商店:商店列表展示,商店详情,宠物寄存- 宠物领养:宠物列表,宠物详情,申请领养,填写领养信息- 宠物挂失:添加宠物挂失信息,挂失宠物列表搜索查询- 宠物论坛:帖子浏览,帖子发布,帖子详情评论- 宠物资讯:资讯信息展示,资讯详情- 个人中心:个人信息查看与修,我的发布的论坛帖子查看,我的订单信息,我的地址,我的收藏### 管理员- 宠物分类管理:分类信息的增删查- 商品分类管理:宠物用品的分类信息的增删查- 宠物用品:用品信息的增删查,图片上传,商品信息支持富文本编辑- 宠物商店:商店信息的增删查- 宠物领养:用户在前台浏览流浪宠物,选择合适的宠物在线登记领养,管理员后台查看领养记录,查看评论- 用户管理:用户在前台自行注册的用户信息,管理员查看与修,删除- 宠物寄存:用户在商店申请寄存宠物,管理员后台查看记录,审核- 订单管理:用户在前台购买的宠物用品,管理员查看用户下单数据,后台进行发货货退款操作## 环境- <b>IntelliJ IDEA 2021.3</b>- <b>Mysql 5.7.26</b>- <b>Node 14.14.0</b>- <b>JDK 1.8</b>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值