メインの画像と背景の画像の 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;
しかし、それはまったく何も変わりません。背景を下に表示するにはどうすればよいですか?