1つのレイヤーに複数のFeatureを追加して、Featureごとに別の色や透過度を設定するやり方。
初期化プログラム例
var olMap = new OpenLayers.Map(); // 地図の初期化をあれこれここに書く // レイヤー作成 vecTempLayer = new OpenLayers.Layer.Vector("Test Layer"); olMap.addLayer(vecTempLayer); // 点のFeatureを作成 var pnt = new OpenLayers.Feature.Vector( new OpenLayers.Geometry.Point(0,0)); // スタイルを設定 pnt.style = { 'fillColor': '#0040ff', 'fillOpacity':0.8, }; // 追加 vecTempLayer.addFeatures(pnt);
以上で、スタイルが設定できる。styleに要素を追加していくことで、その他の設定も可能。スタイルの種類は以下の最後にある。
OpenLayers.Feature.Vector - OpenLayers
styleの修正
styleを変更する場合は、以下のようにする。
vecTempLayer.features[0].style.fillColor = '#ff0000';
featuresのインデックスは、featureを登録した順番になる。今回の例では1つしか設定していないので[0]としている。