tanaka's Programming Memo

プログラミングについてのメモ。

個別のOpenLayers.Feature.Vectorにstyleを設定する

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]としている。