2024年4月16日发(作者:)
Android百度地图定位
需求:(和前面的google定位(标题为:定时器timer…)需求一致)
设置上午(am)8:00-----12:00 每隔3分钟提交一次位置信息(经纬度)
设置下午(pm)13:00-----22:00 每隔4分钟提交一次位置信息(经纬度)
时间间隔是可以后台手动设置的
需要 ,locSDK_
告诫:网上很多例如android 基于百度地图api获取经纬度的文章里面用的是(如下代码)对
我的需求没用,定位的时间完全不准确,例如1分钟上传一次,结果相差30s左右,才得到数据而
且不是固定的。
错误的代码(至少对于我的需求是错的),感觉这方法不好
大体的代码是这样的:
/**
* 创建Activity(继承ivity)
*/
public class LocationActivity extends MapActivity implements LocationListener {
privateBMapManagermapManager;
privateMKLocationManagermLocationManager = null;
privateTextViewlatText;
privateTextViewlonText;
@Override
public void onCreate(Bundle savedInstanceState) {
te(savedInstanceState);
setContentView();
latText = (TextView) findViewById();
lonText = (TextView) findViewById();
// 初始化MapActivity
mapManager = new BMapManager(getApplication());
// init方法的第一个参数需填入申请的API Key
("C66C0501DA6957C42543AE38F5D540", null);
pActivity(mapManager);
mLocationManager = ationManager();
// 注册位置更新事件
tLocationUpdates(this);
// 使用GPS定位
Provider((int) _GPS_PROVIDER);
}
/**
* 当位置发生变化时触发此方法
*
* @param location 当前位置
*/
public void onLocationChanged(Location location) {
if (location != null) {
// 显示定位结果
t("当前经度:" + gitude());
t("当前纬度:" + itude());
}
}
}
我的代码
闹钟定时器启动service:
publicclassLocationServiceextends Service
@Override
publicvoidonCreate() {
tance().addService(this);
te();
spPreferences = getSharedPreferences("PHONE",
MODE_PRIVATE);
tmpph = ing("phone", "");
locationClient =
newLocationClient();
LocationClientOption option =


发布评论