android_定位的介绍

定位相关

  1. 基站定位

通过基站来定位, 偏差值较高, 百米左右

  1. WiFi定位

通过WiFi来定位, 偏差值估计 几十米左右

  1. GPS定位

通过GPS芯片定位 ,偏差值 几米左右

对于在中国的GPS定位,不得不提的就是火星坐标了

火星坐标

是一种国家保密插件,也叫做加密插件或者加偏或者SM模组,其实就是对真实坐标系统进行人为的加偏处理,按照特殊的算法,将真实的坐标加密成虚假的坐标,而这个加偏并不是线性的加偏,所以各地的偏移情况都会有所不同。而加密后的坐标也常被人称为火星坐标系统。

在android怎么实现定位呢?
代码演示一下`

public class MainActivity extends Activity {

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

        //获取定位的管理者
        LocationManager manager = (LocationManager) getSystemService(LOCATION_SERVICE);



        /* 
         * 参数一: 使用什么方式定位 , 基站 、WiFi, gps
         * 参数二:  过了多少时间,就更新位置
         * 参数三: 过了多少距离就更新位置
         */
        manager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,1000, 50, new LocationListener() {

            //定位方式状态发生了变化
            @Override
            public void onStatusChanged(String provider, int status, Bundle extras) {

                Log.d(TAG, "onStatusChanged==="+provider);
            }

            //这种定位方式可用
            @Override
            public void onProviderEnabled(String provider) {
                Log.d(TAG, "onProviderEnabled==="+provider);
            }

            //这种定位方式不可用
            @Override
            public void onProviderDisabled(String provider) {
                Log.d(TAG, "onProviderDisabled==="+provider);

            }

            //位置发生了变化,就调用
            @Override
            public void onLocationChanged(Location location) {

//location.getLongitude()获取经度
//location.getLatitude()获取维度
Log.d("tag", "onLocationChanged==="+location.getLongitude() + "---" + location.getLatitude());

            }
        });
    }



}

添加权限

  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值