1

その画像の上に imageOverlay と半透明の Rectangle を追加する関数があります (画像に色合いを付け、その周りにキーラインを描画するため)。

activeUserImage = new L.imageOverlay(imageUrl, imageBounds).addTo(map);
activeUserTile = new L.rectangle(imageBounds, {stroke: true, color: "#ffffff", opacity:1, weight: 1, fillColor: "#003572", fillOpacity: 0.7, clickable:true}).addTo(map);

これはうまく機能しますが、次のように画像と四角形を削除したいと思います。

map.removeLayer(activeUserImage);
map.removeLayer(activeUserTile);

これはうまくいきそうです...

ただし、(同じ関数を使用して) 2 番目の Image & Rectangle を追加しようとすると、長方形の SVG が画像の下にレンダリングされるため、色付きのオーバーレイが表示されません。

これは、要素が最初の作成から取り残され、次に画像が追加されたときに SVG の前に表示されるためと思われます。

Q:

  1. これはバグですか?SVG要素もクリアすべきではありませんか?
  2. 作成時に画像または SVG の z-index を調整できますか?
  3. 画像とは別のレイヤーに長方形を含める必要がありますか? どのように?

どうもありがとう

4

2 に答える 2

1

BringToFront() 関数を使用すると、レイヤーを一番上に移動できます。

docsで検索してください。

于 2013-06-10T17:17:03.047 に答える