1

メインの画像と背景の画像の 2 つの画像を表示するノード機能を含むレイヤーがあります。このページ: http://openlayers.org/dev/examples/marker-shadow.htmlは、私が望むものを示しています: 影は金色のアイテムの下にあります (開発ツールで png を移動すると、より明白になります)。このために、彼らは以下を使用します。

// Set the external graphic and background graphic images.
externalGraphic: "../img/marker-gold.png",
backgroundGraphic: "./img/marker_shadow.png",

// Makes sure the background graphic is placed correctly relative
// to the external graphic.
backgroundXOffset: 0,
backgroundYOffset: -7,

// Set the z-indexes of both graphics to make sure the background
// graphics stay in the background (shadows on top of markers looks
// odd; let's not do that).
graphicZIndex: MARKER_Z_INDEX, //11
backgroundGraphicZIndex: SHADOW_Z_INDEX, //10

明らかに、実際の CSS の z-index に関するものではありません。なぜなら、DOM 要素は両方ともz-index: auto最後に a を持っているからです。しかし、とにかく、私はこれを自分で試してみたいです(レイヤーの構築ではなく、後で):

style["backgroundGraphic"] = './img/marker-shadow.png';
style["externalGraphic"] ='./img/marker-gold.png';
style['graphicZIndex'] = 1;
style['backgroundGraphicZIndex'] = style['graphicZIndex']-1;

画像が表示されます。しかし、backgroundGraphic が自動的に externalGraphic の下に移動すると考える人もいるかもしれませんが、実際には逆のことが起こります。わかりました、z-index を追加します。

style['graphicZIndex'] = 1;
style['backgroundGraphicZIndex'] = style['graphicZIndex']-1;

しかし、それはまったく何も変わりません。背景を下に表示するにはどうすればよいですか?

4

1 に答える 1

0

これは少し注意が必要です。スタイルとスタイルマップは、機能が存在するレイヤーのプロパティです。スタイルを定義し、それらをスタイルマップに配置して、レイヤー構築で使用する必要があります。機能のrenderIntentを変更することにより、「外出先で」機能のスタイルを変更できます。renderIntentは、スタイルマップ内のスタイルの名前を参照します。次に、layer.redraw()を呼び出します

あなたが使うべき実際のzIndexも私を困惑させます。私は10のステップを使用して、ロット全体を変更することなく、常に間に何かを追加するオプションを持っています。

于 2012-12-26T15:14:48.670 に答える