目录
1、高德地图设置地图缩放比例
//设置地图比例大小,这个数值越大显示的越详细
aMap.moveCamera(CameraUpdateFactory.zoomTo(17));
2、高德地图后台持续定位
//获取一次定位结果 该方法默认为false。
mLocationOption.setOnceLocation(false);
//设置定位间隔,单位毫秒,默认为2000ms,最低1000ms。
mLocationOption.setInterval(3 * 1000);
//设置是否返回地址信息(默认返回地址信息)
mLocationOption.setNeedAddress(true);
//设置是否允许模拟位置,默认为true,允许模拟位置
mLocationOption.setMockEnable(true);
//关闭缓存机制 缓存机制默认开启,可以通过以下接口进行关闭
mLocationOption.setLocationCacheEnable(false);
/**
* 定位成功后回调函数
*/
@Override
public void onLocationChanged(AMapLocation amapLocation) {
if (mListener != null && amapLocation != null) {
if (amapLocation.getErrorCode() == 0) {
mListener.onLocationChanged(amapLocation);// 显示系统小蓝点
//可在其中解析amapLocation获取相应内容。
//地址,如果option中设置isNeedAddress为false,则没有此结果,
// 网络定位结果中会有地址信息,GPS定位不返回地址信息。
String address = amapLocation.getAddress();
String country = amapLocation.getCountry();//国家信息
String province = amapLocation.getProvince();//省信息
String city = amapLocation.getCity();//城市信息
String district = amapLocation.getDistrict();//城区信息
String street = amapLocation.getStreet();//街道信息
String streetNum = amapLocation.getStreetNum();//街道门牌号信息
LogUtils.d(
"address:------" + address
+ "-----country:------" + country
+ "-----province:------" + province
+ "-----city:------" + city
+ "-----district:------" + district
+ "-----street:------" + street
+ "-----streetNum:------" + streetNum
);
} else if (amapLocation.getErrorCode() == 12) {
Toast.makeText(MainActivity.this, "请打开GPS定位",
Toast.LENGTH_SHORT).show();
} else {
String errText = "定位失败," + amapLocation.getErrorCode() + ": " + amapLocation.getErrorInfo();
Log.e("AmapErr", errText);
}
}
}