我的应用程序使用MapView,它将显示多个位置。
我将这些地方的纬度和经度以度数存储在数据库中。
纬度,经度在十进制后的精度为14位数。
如果我必须确定两个地理位置是否相同,我应该考虑多少精度
或者更确切地说,我可以忽略多少精度,以便我没有非常接近每个的引脚地图视图中的其他内容?
如果两个位置相同,那么我计划在地图上放置一个引脚,然后当点击该引脚时,它将显示位于该位置的地点列表
答案 0 :(得分:1)
Location类中有一个名为distance之间的函数:
Location.distanceBetween(double startLatitude, double startLongitude, double endLatitude, double endLongitude, float[] results)
您可以使用它来计算点之间的距离并标记最小值。
距离的计算不仅仅是计算直线上2个点之间的距离,而是考虑地球的椭圆形状,使其尽可能精确。
对于用例,在实际写入结果的方法结束时需要提供float数组。
答案 1 :(得分:0)
这取决于无聊的答案:
对于1),每个缩放级别可以有一定数量的小数或(或者每小时/米的距离)。
对于2,您可以根据纬度改变小数或者具有固定的米/英尺数,但是您需要将其转换为米/英尺。仍然取决于缩放级别。