Android 高德获取经纬度工具类

原创 2017年01月03日 15:29:17

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{
                    
                   
                }
            }
        }
    };



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

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

高德地图工具包

package com.ybdc.yy.base.basis.utils.map; import java.io.BufferedReader; import java.io.InputS...

使用高德地图封装的LocationTool工具类

最近再练习使用高德地图和百度地图的时候突然想到,以后的项目中非常有可能用到定位的功能,而定位功能的时候免不了使用各种API,但是如果每一次做项目就重写定位的方法未免有点愚蠢,于是就自己动手用高德的ap...

android---高德地图(3)点击获得目的经纬度,地理编码

点击获得目的地经纬度,利用经纬度将目的地编码获得目的地的名称 package com.amapv2.apis.basic;  //包名,需要修改   import android.app.Act...

android位置服务与GPS实时定位工具类

介绍如何使用android开发一个位置服务程序,包括一些基本的概念、主要接口和对象、开发流程。 最后介绍采用java的接口编程和多态特性,定义一个可复用的工具类实现GPS动态定位。

Android中通过GPS或NetWork获取当前位置的经纬度

今天在Android项目中要实现一个通过GPS或NetWork来获取当前移动终端设备的经纬度功能。要实现该功能要用到Android Framework 中的 LocationManager 类。下面我...

Android GPS定位(获取经纬度)

简述:     android 定位一般有四种方法,这四种方式分别是:GPS定位,WIFI定位,基站定位,AGPS定位。 本篇博文主要记录一下GPS定位:这种方式需要手机支持GPS模块硬件支持。通过G...

Android附近基站+Wifi+IP+GPS多渠道定位方案

本文主要介绍了使用使用基站+Wifi+IP+GPS多渠道定位的实现方案和相关的Android源码,主要包括Google service SDK的GPS获取方式,获取手机附近基站信息的相关Android...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)