私はしばらくこれに頭を悩ませていたので、ついに故障して意見を求めることにしました.
座標の配列を使用して地図の輪郭を描くオブジェクトを作成する必要があります。Array of Arrays を作成した (少なくとも私はそう思った) ので、長さを反復処理して、必要な数のオブジェクトを作成できます。問題は、配列の値が文字列であることです。実際には配列を参照していません。オブジェクトは怒って、無効なパラメーターだと言います。
split() を使用してみましたが、効果がないようです。手動で path:boundaries0 を入力しましたが、問題なく動作しているようです。私はこれを長い間見てきました。私は脳細胞を失ったと思います。誰かが私を正しい道に導くことができれば、それは素晴らしいことです.
var arrays = 50; //Set this to how many arrays are created.
var boundariesAr = new Array;
var boundaries = new Array;
for(i=0;i<arrays;){
boundariesAr.push('boundaries' + i);
i++;
};
for(j=0;j<boundariesAr.length;){
var serviceArea = "serviceArea" + j;
var currentArray = boundariesAr[j];
var currentItem = currentArray.split(" ");
serviceArea = new google.maps.Polygon({
path:currentItem,
geodesic:true,
strokeColor:'#000',
strokeOpacity:1.0,
strokeWeight:2,
fillColor: '#FF0000',
fillOpacity: 0.35
});
serviceArea.setMap(map);
j++;
};
編集 - 更新されたコード (スニペットのみ) これは、配列がどのように見えるかを切り詰めたものです。
var boundaries0 = [
new google.maps.LatLng(65.307997,-146.130689),
new google.maps.LatLng(65.291840,-146.198712),
];
var boundaries1 = [
new google.maps.LatLng(64.703884,-147.150958),
new google.maps.LatLng(64.703189,-147.155442),
];
var arrays = 50; //boundaries0[],boundaries1[], etc
var boundariesAr = new Array;
for(var i=0;i<arrays;i++){
boundariesAr.push(boundaries);
};
for(var j=0;j<boundariesAr.length;j++){
var serviceArea = "serviceArea" + j;
var currentArray = boundariesAr[j];
var currentItem = currentArray.split(" ");
serviceArea = new google.maps.Polygon({
path:currentItem,
geodesic:true,
strokeColor:'#000',
strokeOpacity:1.0,
strokeWeight:2,
fillColor: '#FF0000',
fillOpacity: 0.35
});
serviceArea.setMap(map);
};
時間を割いて助けてくれた素晴らしい人々に感謝します。できれば飲み物を買います。
これは最終的に機能しました-(そして、そもそも配列をネストしないのはばかげていると思います)
var boundaries = [];
boundaries[0] = [
new google.maps.LatLng(65.307997,-146.130689),
new google.maps.LatLng(65.291840,-146.198712),
];
boundaries[1] = [
new google.maps.LatLng(64.703884,-147.150958),
new google.maps.LatLng(64.703189,-147.155442),
];
var arrays = 50; //Set this to how many arrays are created.
for(var j=0;j<arrays;j++){
serviceArea = new google.maps.Polygon({
path:boundaries[j],
geodesic:true,
strokeColor:'#000',
strokeOpacity:1.0,
strokeWeight:2,
fillColor: '#FF0000',
fillOpacity: 0.35
});
serviceArea.setMap(map);
};