Lat和Long在android中

时间:2013-04-27 00:51:01

标签: android

我在MySQL远程服务器的DB中存储了300个lat长号。我想远程计算我的手机和lat中当前lat和long之间的差异。 0

实现这一目标的最佳方式是什么?

我在想从手机发送当前的lat和long并进行计算并发回差异?

有更好的方法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

300不是很多数据点。我有一个超过50,000的应用程序,这根本不是问题。

我会将数据库从远程服务器发送到您的手机(或者无论如何都是列的一部分)。

在我自己的应用程序中,我将世界划分为1°x1°扇区,并使用

分配扇区号
sector = (lat+90)*360 + (lon+180);

有效地散列它们。哈希码是数据库的一部分。

然后,当我想查找附近的数据点时,我计算当前纬度和经度的扇区号,以及8个相邻扇区的扇区号。然后我将数据库搜索限制在这九个扇区。

之后,只需在数据库中查询附近区域中的数据点,并计算当前位置与这些数据点之间的距离。

将数据库下载到手机中的费用是一次性的,但以后可以节省大量的时间和带宽。