我在我的项目中陷入了困境。
我正在开发一个 Bike Tracking 项目,该项目在 Bike 运行时连续绘制路径,路径在那里绘制不是问题,但是当活动会enter code here
丢失或最小化时,Track 将在后台工作并且当用户回来时到活动他可以找到完整的轨迹。
对于我使用过的服务,但谷歌地图存在问题。
在服务中,我使用位置管理器方法来获取纬度和经度,但它并不准确,它每次都不同。
但是在 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 中,我做了我的代码。
所以我需要服务中的谷歌地图或谷歌地图onMyLocationChange
方法来访问服务或者我如何在后台处理这些东西。