AMapDemo
- 描述:高德定位简单封装
- 目标:降低使用高德定位的难度,能够覆盖安卓开发的常见使用场景,提高高德定位的易用性。
使用
- 回调接口的注册、注销
locationListener = new AMapLbs.LocationListener() { @Override public void onLocationResult(LatLonPoint point, RegeocodeAddress location) { //成功 } @Override public void onLocationFailed(int errorCode, String errorMsg) { //失败 } }; AMapLbs.getInstance().addListener(locationListener);
//一般在Activity的onDestroy()中调用 AMapLbs.getInstance().removeListener(locationListener);
- 发起定位
- 一次定位(使用gps)
AMapLbs.getInstance().startOnceLocation(MainActivity.this);
- 一次定位(不使用gps)
AMapLbs.getInstance().startOnceLocation(MainActivity.this, false);
- 一次定位(使用gps)
笔记
setNeedAddress(true)
相当于定位后会默认执行逆地理编码,但是返回的数据不全。所以,本次封装手动实现定位、逆地理编码两步的执行。AMapLocationClientOption mLocationOption = new AMapLocationClientOption(); //设置返回地址信息,默认为true mLocationOption.setNeedAddress(false);
setLocationCacheEnable(false)
关闭缓存机制。AMapLocationClientOption mLocationOption = new AMapLocationClientOption(); //关闭缓存机制,默认为true mLocationOption.setLocationCacheEnable(false);
setOnceLocation(true)
启动单次定位。对于有些使用场景(只需要一次定位),设置这个属性,就不需要在定位完成后手动调用locationClient.stopLocation()
了。AMapLocationClientOption mLocationOption = new AMapLocationClientOption(); //启动单次定位,默认为false mLocationOption.setOnceLocation(true);