80,359
社区成员
发帖
与我相关
我的任务
分享
public LocationClient mLocationClient = null;
private static MyApplicationLocation instance = null;
@Override
public void onCreate() {
super.onCreate();
instance = this;
mLocationClient = new LocationClient(getApplicationContext()); // 声明LocationClient类
mLocationClient.registerLocationListener(this); // 注册监听函数
}
public static MyApplicationLocation getInstance() {
return instance;
}
public void onLineRequest() {
setOption();
start();
if (mLocationClient != null && mLocationClient.isStarted()) {
mLocationClient.requestLocation(); // 发起定位,异步获取当前位置
}
}
private void setOption() {
LocationClientOption option = new LocationClientOption();
option.setLocationMode(LocationMode.Hight_Accuracy);// 可选,默认高精度,设置定位模式,高精度,低功耗,仅设备
option.setCoorType("bd09ll");
option.setScanSpan(span);// 可选,默认0,即仅定位一次,设置发起定位请求的间隔需要大于等于1000ms才是有效的
option.setIsNeedAddress(true);// 可选,设置是否需要地址信息,默认不需要
option.setOpenGps(true);// 可选,默认false,设置是否使用gps
option.setLocationNotify(true);
option.setIsNeedLocationDescribe(true);
option.setIsNeedLocationPoiList(true);
option.setIgnoreKillProcess(false);
option.SetIgnoreCacheException(false);
option.setEnableSimulateGps(false);
mLocationClient.setLocOption(option);
}
public void start() {
if (mLocationClient != null && !mLocationClient.isStarted()) {
mLocationClient.start();
}
}