0
私は、指定された半径の円の周囲にマーカーを追加しようとしています。私の中心点は私の地図上の現在の位置です。私は私の周りに10の中間点を追加しようとしています。私は円の点を見つけるためにピタゴラスの方法を使用しようとしていますが、私の計算はここでは正しいとは思いません。ここでGoogleマップの円周上にマーカーを追加する
は私の機能です:ここ
private void drawCirclePoints()
{
int numOfPoints = 10;
int radius = 100;
LatLng center = new LatLng(homeBase.latitude, homeBase.longitude);
double slice = 360/numOfPoints;
ArrayList<LatLng> centerArray = new ArrayList<>();
for (int i = 0; i < numOfPoints; i++)
{
double angle = slice * i;
double X = center.latitude + radius * Math.cos(angle * Math.PI/180);
double Y = center.longitude + radius * Math.sin(angle * Math.PI/180);
centerArray.add(new LatLng(X, Y));
}
CircleOptions circleOptions = new CircleOptions();
circleOptions.center(homeBase);
circleOptions.radius(radius);
circleOptions.fillColor(0x33FF0000);
circleOptions.strokeColor(Color.BLUE);
circleOptions.strokeWidth(3);
for (int i = 0; i < centerArray.size(); i++)
{
setMarker("sample", centerArray.get(i).latitude, centerArray.get(i).longitude);
}
markercircle = mMap.addCircle(circleOptions);
}
私の問題は、返された座標が正しくないか、私が期待したものです。私は間違って何をしていますか?
もう少しグーグルしてから。私は私の答えに到着したと思う。上記の方法は問題ありませんが、必要な答えを私に与えることはありません。私はまだ自分のデカルト座標を緯度と経度に変換する必要があります(平坦な地球近似を前提とします)。 – MaskedAfrican