我在项目中的某个方面陷入困境。
我正在开发一个自行车跟踪项目,它在自行车运行时连续绘制路径,路径在那里绘制不是问题,但是当活动进行时c enter code here
会丢失或最小化轨道将在后台工作,当用户回到活动时,他可以找到整个轨道。
为此,我使用了服务,但谷歌地图存在问题。
在服务中我使用了位置管理器方法来获取纬度和经度,但它不准确,每次都会变化。
但是在Activity之前,当我使用谷歌地图的onMyLocationChangeListener时,数据将逐点完成。
这是使用LocationManager在服务中获取位置的代码。
mLocManager = (LocationManager) getSystemService(TrackService.this.LOCATION_SERVICE);
mListner = new LocationListner();
if (mLocManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER))
mLocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,
0, 0, mListner);
else {
Toast.makeText(TrackService.this, "GPS is not on",
Toast.LENGTH_SHORT).show();
onDestroy();
}
try {
mlocManager = (LocationManager)
getSystemService(getApplicationContext().LOCATION_SERVICE);
mListner = new LocationListner();
try {
mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,
0, mListner);
} catch (Throwable e) {
e.printStackTrace();
}
try {
mlocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,
0, 0, mListner);
} catch (Throwable e) {
e.printStackTrace();
}
} catch (Throwable e) {
e.printStackTrace();
}
并且在Listener中我已经完成了我的代码。
所以我需要服务中的Google地图或Google地图onMyLocationChange
方法来访问服务,或者我如何在后台处理这些内容。
答案 0 :(得分:2)
不久前谷歌宣布了新的Locations API。强烈建议使用这种新API,因为它在电池使用方面更准确,更有效。
因此,我将首先更换使用此API跟踪用户位置的服务代码。由于Android map v2使用此API获取当前位置
,因此您很可能会获得更准确的数据