多くのソースからの天気図を表示するWebページがあります。ソースを選択すると、グラフの概要がGoogleマップに表示されます。(http://www.geoffschultz.org/weather_map.php Weather Charts / GMDSS / Forecastsを参照してください-3つのポリゴンを描画する必要があります)これまで、すべてのチャートは長方形でしたが、非長方形のチャートの必要性に出くわしました。これを念頭に置いてjsをコーディングしましたが、最後に描画されたポリゴンのみが表示されるため、困惑しました。複数のポリゴンに関して私が見逃しているものはありますか?
コードは非常に単純です。バウンディングボックス座標の配列を取得します。単純な長方形の場合、配列要素は「-31、-32 | 2,25」のようになり、多角形の場合は、「|」で区切られたより多くの座標があります。座標が2つある場合は長方形を描画し、そうでない場合はポリゴンを描画して1番目の点で閉じます。
長方形に最適なので、何が間違っていますか?
-ジェフ
for (i in bb[selValue])
{
bb_lat_long = bb[selValue][i]["bb_lat_long"].split("|");
if (bb_lat_long.length == 2) //Rectangle
{
lat_long = bb_lat_long[0].split(",");
sw = new google.maps.LatLng(lat_long[0], lat_long[1]);
lat_long = bb_lat_long[1].split(",");
ne = new google.maps.LatLng(lat_long[0], lat_long[1]);
bounds = new google.maps.LatLngBounds(sw, ne);
bounding_box = new google.maps.Rectangle({map: map, bounds: bounds, fillOpacity: 0.05, strokeWeight: 1});
}
else // polygon
{
poly_lat_long.length = 0;
for (j = 0; j < bb_lat_long.length; j++)
{
lat_long = bb_lat_long[j].split(",");
poly_lat_long.push(new google.maps.LatLng(lat_long[0], lat_long[1]));
}
lat_long = bb_lat_long[0].split(",");
poly_lat_long.push(new google.maps.LatLng(lat_long[0], lat_long[1])); // close polygon with 1st point
bounding_box = new google.maps.Polygon({map: map, paths: poly_lat_long, fillOpacity: 0.05, strokeWeight: 1});
}
}