有没有人试过在 Openlayers3 中使用本地服务器瓦片的区域绘制多边形?
对于 map 上的特定区域,我使用本地服务器图 block 来可视化建筑物的平面图,而对于其余区域则使用 stamen 图 block 。
问题是,一旦绘制了多边形,它可能会“迷路 - 消失”在瓷砖下面。如果我尝试在“外部”区域绘制一个多边形,则渲染自定义图 block 的区域一切正常。
我在自定义图 block 中尝试了一些 zIndex,但没有成功。有什么想法吗?
最佳答案
我试图在两个局部图 block 上设置 zIndex(低于绘制的要素)并将绘制的要素设置为大于局部图 block ,但最后当绘制的要素被插入到我添加的矢量层中时 map 上的矢量图层,在那里设置 zIndex,绘制多边形后使用 clear() 将其删除。
因此,
构建矢量图层
var stamenTiles = new ol.layer.Tile({
source: new ol.source.Stamen({
layer: 'toner'
})
});
var source = new ol.source.Vector(); //DRAWING
var vector = new ol.layer.Vector({ //DRAWING
source: source,
zIndex: 100 // place the Polygon on top of the local tiles
});
map 对象:
var map = new ol.Map({
target: 'map',
layers: [stamenTiles, vector],
view: new ol.View({
center: ol.proj.fromLonLat([CoordinatesFactory.getLongitude(), CoordinatesFactory.getLatitude()]),
zoom: 19,
minZoom: 19,
maxZoom: 22
})
});
移除绘制的矢量图层
vector.getSource().clear();
关于javascript - 使用 Openlayers 3 在 map 图 block 上绘制多边形,其中使用自定义图 block 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48077150/