Android谷歌地图谷歌纵横,经度精准

时间:2012-06-13 06:37:18

标签: android google-maps

我的应用程序使用MapView,它将显示多个位置。

我将这些地方的纬度和经度以度数存储在数据库中。

纬度,经度在十进制后的精度为14位数。

如果我必须确定两个地理位置是否相同,我应该考虑多少精度

或者更确切地说,我可以忽略多少精度,以便我没有非常接近每个的引脚

地图视图中的其他内容?

如果两个位置相同,那么我计划在地图上放置一个引脚,然后当点击该引脚时,它将显示位于该位置的地点列表

2 个答案:

答案 0 :(得分:1)

Location类中有一个名为distance之间的函数:

Location.distanceBetween(double startLatitude, double startLongitude, double endLatitude, double endLongitude, float[] results)

您可以使用它来计算点之间的距离并标记最小值。

距离的计算不仅仅是计算直线上2个点之间的距离,而是考虑地球的椭圆形状,使其尽可能精确。

对于用例,在实际写入结果的方法结束时需要提供float数组。

DistanceBetween

答案 1 :(得分:0)

这取决于无聊的答案:

  1. 缩放级别
  2. 地球上的位置(纬度)
  3. 您(或更确切地说是用户)感到满意的分离像素数。可能因设备而异!物理距离才是最重要的。
  4. 对于1),每个缩放级别可以有一定数量的小数或(或者每小时/米的距离)。

    对于2,您可以根据纬度改变小数或者具有固定的米/英尺数,但是您需要将其转换为米/英尺。仍然取决于缩放级别。