高德地图之纯粹定位
Posted Vicent_9920
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高德地图之纯粹定位相关的知识,希望对你有一定的参考价值。
之前我了解到的地图定位都是涉及到地图显示以后的定位,然后我在新项目中对于地图不用展示,但是需要位置。一开始我的想法是隐藏一个地图控件,然后通过高德之拾取地点来实现,但是一想到整个布局需要多添加一个控件的时候,强迫症的我就受不了!后来找了几个项目,发现之前的一个工具类,经测试完全木有问题。于是这里记录下来!!
package cn.com.lucky.mipi.util;
import android.content.Context;
import com.amap.api.location.AMapLocation;
import com.amap.api.location.AMapLocationClient;
import com.amap.api.location.AMapLocationClientOption;
import com.amap.api.location.AMapLocationListener;
/**
* 地理位置信息
* Created by 魏兴 on 2017/7/6.
*/
public class LocationHolder implements AMapLocationListener
public static String city = "正在定位地址...";
public LocationHolder(Context context)
// 初始化定位
AMapLocationClient mlocationClient = new AMapLocationClient(context);
// 设置定位回调监听
mlocationClient.setLocationListener(this);
// 初始化定位参数
AMapLocationClientOption mLocationOption = new AMapLocationClientOption();
// 设置定位模式为高精度模式,Battery_Saving为低功耗模式,Device_Sensors是仅设备模式
mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
// 设置是否返回地址信息(默认返回地址信息)
mLocationOption.setNeedAddress(true);
// 设置是否只定位一次,默认为false
mLocationOption.setOnceLocation(false);
// 设置是否强制刷新WIFI,默认为强制刷新
mLocationOption.setWifiActiveScan(true);
// 设置是否允许模拟位置,默认为false,不允许模拟位置
mLocationOption.setMockEnable(true);
// 设置定位间隔,单位毫秒,默认为2000ms
mLocationOption.setInterval(5000);
// 给定位客户端对象设置定位参数
mlocationClient.setLocationOption(mLocationOption);
// 启动定位
mlocationClient.startLocation();
@Override
public void onLocationChanged(AMapLocation amapLocation)
if (amapLocation != null && amapLocation.getErrorCode() == 0)
city = amapLocation.getCity();
着重推荐
以上是关于高德地图之纯粹定位的主要内容,如果未能解决你的问题,请参考以下文章