介绍
我正在使用传单 api,创建一个使用两个图像叠加层(添加到地图)的应用程序。
问题
当我加载两个图像叠加层以使用固定边界进行映射时。现在我已经将控件用于切换图像叠加层,即下一个和上一个
我使用了函数 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 ???
如果有人对此有任何想法,请提供帮助,任何帮助或参考将不胜感激....感谢您的宝贵时间