序章
リーフレット API を使用して、2 つのイメージ オーバーレイ (マップに追加) を使用するアプリケーションを作成しています。
問題
2 つのイメージ オーバーレイをロードして、固定境界でマップします。これで、イメージオーバーレイ、つまり次と前を切り替えるコントロールを配置しました
関数 BringToFront(); を使用しました。これらのコントロールの背後にある....
しかし、長方形のようなものを描画してイメージオーバーレイを切り替えると、イメージまたはポイントに描画された形状が失われるか、外観が失われると思います...これを解決する方法がわかりません.....
実装が不完全なスクリプトの一部
var map = L.map('map', {
minZoom: 1,
maxZoom: 4,
center: [0, 0],
zoom: 0,
crs: L.CRS.Simple
});
// dimensions of the image
var w = 3200,
h = 1900,
url = 'assets/img/isbimg.jpg';
url1 = 'assets/img/fjmap.png';
// calculate the edges of the image, in coordinate space
var southWest = map.unproject([0, h], map.getMaxZoom() - 1);
var northEast = map.unproject([w, 0], map.getMaxZoom() - 1);
var bounds = new L.LatLngBounds(southWest, northEast);
var featureGroup = L.featureGroup().addTo(map);
var drawControl = new L.Control.Draw({
edit: {
featureGroup: featureGroup
},
draw: {
polygon: true,
polyline: true,
rectangle: true,
circle: true,
marker: true
}
}).addTo(map);
map.on('draw:created', showPolygonArea);
map.on('draw:edited', showPolygonAreaEdited);
// add the image overlay,
// so that it covers the entire map
var iii = L.imageOverlay(url1, bounds);
var jjj = L.imageOverlay(url, bounds);
var ggg = iii.addTo(map);
var hhh = jjj.addTo(map);
jjj.addTo(map);
$('#layerControl').on('click', function layerControl() {
ggg.bringToFront();
return this;
});
$('#layerControl2').on('click', function layerControl2() {
hhh.bringToFront();
return this;
});
描画されたベクトルまたは問題を引き起こす imageoverlay の状態を保存していないことはわかっています。この問題を解決する方法や、id を imageoverlay に設定する方法はありますか ???
誰かがそれについて考えている場合は、助けてください。どんな種類の助けや参考文献もいただければ幸いです....時間をありがとう