0

我在我的项目中陷入了困境。

我正在开发一个 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方法来访问服务或者我如何在后台处理这些东西。

4

1 回答 1

2

不久前,谷歌宣布了新的Locations API。强烈建议使用这个新的 API,因为它在电池使用方面更加准确和高效。

因此,我将从使用此 API 替换跟踪用户位置的服务代码开始。由于 Android 地图 v2 使用此 API 获取当前位置,因此您很可能会获得更准确的数据

于 2013-07-05T06:56:46.590 回答