2009年11月18日水曜日

OpenLayers 28b OpenLayers.Control.Split と addUniqueValueRules について

OpenLayers.Control.Split
(英文の説明の訳)

分割コントロールは、任意のベクトルレイヤー上の編集をリッスン?するように構成することができます、または一時的なスケッチ機能の作成を可能にすることができます。変形されたまたは新たに描画されたフィーチャは、任意のターゲットレイヤ上の既存のフィーチャを分割するために使用されます。この例では、分割コントロールが分割するための一時的なスケッチを使用して構成することを示しています。


addUniqueValueRules について

OpenLayers の Styling サイト

http://docs.openlayers.org/library/feature_styling.html#adduniquevaluerules

に addUniqueValueRules についての解説があります。

addUniqueValueRules を使用するためには、まず最初に、スタイルの'共有'プロパティで StyleMap作成します。'サムネイル'属性内に URL でフィーチャを読み込んでいることを考えます:

var styleMap = new OpenLayers.StyleMap({externalGraphic: '${thumbnail}'});

次に、フィーチャの属性の値とsymbolizer値の間のマッピングを作成し、それから、"サイズ"属性をチェックし、その変数に定義された symbolizer に適用するそのデフォルトの symbolizer にルールを追加します:

var lookup = {
"small": {pointRadius: 10},
"large": {pointRadius: 30}
}

styleMap.addUniqueValueRules("default", "size", lookup);

これは 'default' renderIntent において スタイルにルールを追加し、そのスタイルはフィーチャの'サイズ'属性に基づいた pointRadius を変更をすべきということです。
symbolizers インサイドルールは symbolizers を完了する必要はありません。
なぜなら、OpenLayers.Style またはOpenLayers.StyleMap のコンストラクタで渡されたデフォルトのsymbolizer を拡張するためです。
'Unique Values example'は、addUniqueValueRulesの使用方法を示します。

0 件のコメント: