李海明的博客

为了梦想而飞,不枉此生。

Android 高德获取经纬度工具类

public class GaoDeUtils {
    //声明AMapLocationClientOption对象
    public static AMapLocationClientOption mLocationOption = null;
    private static AMapLocationClient mLocationClient =null;
    private static double juli ;
    public static void getJuLi(AMapLocationListener ap){

        mLocationClient= new AMapLocationClient(MyApplication.getContext());
        mLocationClient.setLocationListener(ap);
        //初始化AMapLocationClientOption对象
        mLocationOption = new AMapLocationClientOption();
        //设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。
        mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
        //单次定位
        mLocationOption.setOnceLocationLatest(true);
        //设置是否返回地址信息(默认返回地址信息)
        mLocationOption.setNeedAddress(true);
        //设置是否强制刷新WIFI,默认为true,强制刷新。
        mLocationOption.setWifiActiveScan(false);
        //设置是否允许模拟位置,默认为false,不允许模拟位置
        mLocationOption.setMockEnable(false);
        //单位是毫秒,默认30000毫秒,建议超时时间不要低于8000毫秒。
        mLocationOption.setHttpTimeOut(20000);
        //关闭缓存机制
        mLocationOption.setLocationCacheEnable(false);
        //给定位客户端对象设置定位参数
        mLocationClient.setLocationOption(mLocationOption);
        //启动定位
        mLocationClient.startLocation();

    }


}

private AMapLocationListener mLocationListener = new AMapLocationListener(){

        @Override
        public void onLocationChanged(AMapLocation aMapLocation) {
            if(aMapLocation!=null){
                if(aMapLocation.getErrorCode()==0){
                    int locationType = aMapLocation.getLocationType();//获取当前定位结果来源,如网络定位结果,详见定位类型表
                    double latitude = aMapLocation.getLatitude();//获取纬度
                    double longitude = aMapLocation.getLongitude();//获取经度
                    float accuracy = aMapLocation.getAccuracy();//获取精度信息
                    Log.e("定位",locationType+" +" +latitude+"+"+longitude+"+"+accuracy);
                    double distance = GetJuLiUtils.getDistance(118.924079
                            , 42.249544, longitude, latitude);
                    Log.e("定位",distance+"米");
                }else{
                    
                   
                }
            }
        }
    };



以上就能获取定位并且能够计算两地的距离了。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq939782569/article/details/53994890
个人分类: android
想对作者说点什么? 我来说一句

Android 使用高德api获取经纬度

2015年11月02日 2.18MB 下载

没有更多推荐了,返回首页

不良信息举报

Android 高德获取经纬度工具类

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭