配置好杂七杂八的后:
自己创建一个工具类
public class GDLocationUtil { private AMapLocationClient mLocationClient; private AMapLocationListener mLocationListener; public GDLocationUtil(Context context) { mLocationClient = new AMapLocationClient(context.getApplicationContext()); } /** * @param interval 定位时间间隔,小于等于0时只定位一次 * @param needAddress 是否返回地址信息 * @param locationCacheEnable 是否缓存定位信息 */ public void setLocationOptions(int interval, boolean needAddress, boolean locationCacheEnable) { //初始化定位参数 AMapLocationClientOption locationOption = new AMapLocationClientOption(); //设置定位模式为高精度模式,Battery_Saving为低功耗模式,Device_Sensors是仅设备模式 locationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy); if (interval > 0) { locationOption.setInterval(interval); } else { locationOption.setOnceLocation(true); } locationOption.setLocationCacheEnable(locationCacheEnable); locationOption.setNeedAddress(needAddress); mLocationClient.setLocationOption(locationOption); } public void setLocationListener(AMapLocationListener listener) { mLocationListener = listener; mLocationClient.setLocationListener(mLocationListener); } public void startLocation() { if (mLocationClient != null) { mLocationClient.startLocation(); } } public void stopLocation() { if (mLocationClient != null) { mLocationClient.stopLocation(); } } public void destroy() { if (mLocationClient != null && mLocationListener != null) { mLocationClient.unRegisterLocationListener(mLocationListener); mLocationClient.stopLocation(); mLocationClient.onDestroy(); mLocationClient = null; } } }
然后在需要定位的地方