附近产生我的位置随机位置(generate random locations nearby my l

2019-10-16 16:41发布

我想生成周围我的位置在圆圈内随机纬度/经度对。

目前,我实现了一个位置监听器,每次我得到一个新的位置,我想提醒我旁边的任意位置。

我能够计算2点现有的位置之间的距离,并知道它在我的范围:

public List<Location> filter(Location current, List<Location> locations, int radius) {
    List<Location> results = new ArrayList<Location>();
    for (Location loc : locations) {
        if (current.distanceTo(loc) <= radius) {
            results.add(loc);
        }
    }
    return results;
}

不过说真的,我找不到如何生成我的范围之内的位置。

任何帮助这里? 非常感谢你。

Answer 1:

如何随机产生自己的坐标? 使用当前的位置,你可以设置这些号码的限制。 使用当前坐标和半径你会得到随机数跨度。 跨度为随机新X =老X + - 半径

我建议产生-1到1之间的随机数,然后用半径乘以。 这意味着,对于所生成的坐标的最大值为半径(和min是-radius)。 添加此值到当前位置的坐标给您老X +之间的值 - 半径。 摘要:

*半径+(旧X)(-1和1之间的随机数)=旧x的半径范围内的新的x。

为随机数(!OBS从0到1)实施例的代码:

import java.util.Random;

Random r = new Random();
double zeroToOne = r.nextInt(1001) / 1000

下面是随机的Java文档: 随机



Answer 2:

这似乎是一件好事。 如果你想看看: http://android-er.blogspot.com/2011/02/get-list-of-address-from-location-using.html

我认为,通常它一直在努力,但我不能尝试建立它在设备



文章来源: generate random locations nearby my location