マップで定義されたポリゴンでランダムな LatLng ポイントを生成する必要があります。最初のポイントが (x,y) で始まり、次の latlng が 100 メートルを超え、500 メートル未満であると仮定します。
質問する
537 次
2 に答える
1
以下のようなものを試すことができます。これは、HashMapを使用して一意の乱数を作成します。
public void getRandomPosistions(int endPoint, int total)
{
Set<Point> set = new HashSet<Point>();
Random position = new Random();
Point point;
Point usedPos = new Point();
// Starting Position
usedPos.x = 100;
usedPos.y = 100;
set.add(usedPos);
do
{
point = new Point();
point.x=position.nextInt(endPoint);
point.y=position.nextInt(endPoint);
set.add(point);
}
while(set.size() < (total));
List<Object> positionList = new ArrayList<Object>(set);
}
于 2013-02-25T10:34:23.753 に答える
0
これは非常に簡単です。
- 緯度と経度の最大値と最小値を取得します。
- 経度のランダムな値を生成します (一様分布を使用)。
- 緯度のランダムな値を生成します (一様分布を使用するか、地球の形状を考慮することができます)。
- ランダムな点がポリゴンの内側にあるかどうかを確認し、そうでない場合は再試行してください。
于 2013-02-25T10:39:51.367 に答える