Java 覆盖OSMdroid中的位置跟踪

Java 覆盖OSMdroid中的位置跟踪,java,android,android-mapview,android-location,osmdroid,Java,Android,Android Mapview,Android Location,Osmdroid,我想知道如何覆盖OSMdroid的位置来源。在我的应用程序中,我已经在跟踪和存储用户的位置,所以我做了两次(OSMdroid,我的应用程序是多余的)。就电池寿命而言,将OSMdroid的位置来源更改为我的位置跟踪器是否值得?如果是的话,有没有人知道我会怎么做。OSMdroid目前通过Gradle添加到我的项目中。只是尝试在实现它之前做一些研究。在osmdroid中,您不必在地图上放置“MyLocationNewOverlay”。在这种情况下,osmdroid对位置没有任何作用 如果您仍然希望在地

我想知道如何覆盖OSMdroid的位置来源。在我的应用程序中,我已经在跟踪和存储用户的位置,所以我做了两次(OSMdroid,我的应用程序是多余的)。就电池寿命而言,将OSMdroid的位置来源更改为我的位置跟踪器是否值得?如果是的话,有没有人知道我会怎么做。OSMdroid目前通过Gradle添加到我的项目中。只是尝试在实现它之前做一些研究。

在osmdroid中,您不必在地图上放置“MyLocationNewOverlay”。在这种情况下,osmdroid对位置没有任何作用

如果您仍然希望在地图上以图形表示当前位置/方向/精度,可以使用DirectedLocationOverlay。你必须自己“刷新”它——通常是用你自己的跟踪和存储代码。
例如

可以通过使用一个类来覆盖OSMdroid的位置提供程序:
class FakeOsmdroidLocationProvider实现IMyLocationProvider{…}
,然后在创建例如
MyLocationNewOverlay
时使用它代替
IMyLocationProvider
。只有当您请求的位置非常少,或者只有不带GPS的低精度位置,或者您对代码中的位置数据有一些额外的过滤时,它才会带来好处。嗨,Markus,谢谢您的回复-看起来不太难。我要求每隔两秒左右以高精度定位。所以我可能应该覆盖OSMdroid的位置?你用自己的代码保持GPS硬件,所以我认为覆盖OSMdroid的位置提供程序不会带来任何节能的好处。我这么做是因为我们已经有了与位置相关的卡尔曼滤波代码。这就是我想要的答案——谢谢