少し問題があります。JavascriptとGoogle Maps API v2を使用して次のことをしようとしています:
インターネットで見つけた数式を使用して、個々の円をうまく描くことができます。私が直面している問題は、円が次のことをしなければならないということです:
A. 同心であること、および B. 「象限」ごとに異なる半径、つまり、NE、NW、SE、および SW を持たなければならないこと
私はインターネット上で考えられるほぼすべての場所を検索しましたが、これを行う方法が思いつきませんでした。明らかに誰かが以前にこれを行ったことがあります。:)
ありがとう!
更新:次のコードを使用して、各ポイントの座標がどうなるかを考えました。下の図の場合:
これは、次の JS を使用して取得されました。
注: この JavaScript は次のサイト (わずかに変更されています) からのもので、アルゴリズムが最終的にどうなるかに関して、より多くの回答が含まれている可能性があります: http://www.movable-type.co.uk/scripts/latlong.html
更新 2: Google マップでこれを取得できました。
次のコードを使用して作成されました。
var NEQ = [0, 90];
var SEQ = [90, 180];
var SWQ = [180, 270];
var NWQ = [270, 0];
// var centrePoint = new LatLon(25.0, -83.1);
// pointsForWindQuadrant(NEQ, centrePoint, 50);
function pointsForWindQuadrant(quadrantDegrees, centrePoint, radius){
var points = [];
// Points must be pushed into the array in order
points.push(new google.maps.LatLng(centrePoint.lat, centrePoint.lon));
for(i = quadrantDegrees[0]; i <= quadrantDegrees[1]; i++){
var point = centrePoint.destPoint(i, radius * 1.85);
points.push(new google.maps.LatLng(point.lat, point.lon)); // Radius should be in nautical miles from NHC
}
points.push(new google.maps.LatLng(centrePoint.lat, centrePoint.lon));
return points;
}
更新 3:これは、デカルト座標系ではなく、地理座標系(このすべてが熱帯低気圧の風半径用であるため)用であることもおそらく指摘する必要があります。ありがとう!