使用 Openlayers 3 在地图图块上绘制多边形,其中使用自定义图块服务器

Polygon drawing upon map tiles where a custom tile server is used using Openlayers 3

有没有人试过在 Openlayers3 中使用本地服务器瓦片的区域绘制多边形?

对于地图上的特定区域,我使用本地服务器图块来可视化建筑物的平面图,而对于其余部分则使用花蕊图块。

问题是一旦绘制了多边形,它可能 "gets lost - disapears" 在瓷砖下面。如果我尝试在区域 "outside" 上绘制一个多边形,即渲染自定义图块的多边形,一切正常。

我在自定义图块中尝试了 zIndex,但没有成功。有什么想法吗?

我试图在两个局部图块上设置 zIndex(低于绘制的要素)并将绘制的要素设置为大于局部图块,但最终绘制的要素被插入到矢量图层中我在地图上添加了一个矢量图层,在那里设置了 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
});

地图对象:

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();