如何在离线状态下为Android找到两个地理点之间的距离

时间:2013-11-29 06:50:24

标签: android

我想测量两个地方之间的距离,提供地点的纬度和经度。我的Android应用程序将由离线用户使用。我认为谷歌地图API不能用于这种情况。请帮帮我啦......

3 个答案:

答案 0 :(得分:0)

为了在离线模式下基于纬度和经度值获得两个地方之间的距离,将这些值存储在sqlite文件中,并在执行应用程序时从中检索。

您必须准备一个数据库,其中列的纬度,经度和地点之间的距离等。

您可以询问是否有任何进一步的疑问:)

答案 1 :(得分:0)

请查看此answer,如何在离线应用中使用谷歌地图。这基于osmdroid,也了解Google terms of use googleMap。

答案 2 :(得分:0)

好的,所以你去,在离线模式下,你只能依靠这种方法来检索用户当前的坐标。

  1. 被动提供者: - 这是非常快的,但只有当其他应用程序在您请求之前请求用户位置时才准确。

  2. GPS提供商:这很慢,一般只在开放区域工作,最多可能需要10-20秒才能从卫星接收坐标

  3. 您还可以使用网络三角测量,从手机信号塔开始,它们比GPS提供商更快。

  4. 基于上述程序,您可以编写一个函数,该函数将首先尝试从最快的提供程序获取用户当前位置,而不是任务将验证此数据的年龄,如果不是最近的话,您可以求助于并行检查用户位置首先回答你坐标的其他两种方法就是答案。

    一旦你有两个坐标,使用Location clasa API distanceTo来找到它们之间的确切距离。

    我希望这会帮助你写出你的逻辑。