打开图层如何在Tile图层上添加地图标记

时间:2018-01-31 11:50:19

标签: openlayers

我需要在OpenLayer地图中显示地图标记。 我有更多的图层。这就是代码中一层的样子:

 cite:geo_borneFiltered":
            var userId = $("#loggedInUserId").val();

            layers.push(
                new ol.layer.Tile({
                    title: overlays[i].Item2,
                    type: 'overlay',
                    preload: Infinity,
                    visible: false,
                    layer: overlays[i].Item1,
                    source: new ol.source.TileWMS({
                        crossOrigin: 'anonymous',
                        url: GeoServer + "/geoserver/gwc/service/",
                        params: { 'LAYERS': overlays[i].Item1, 'VERSION': '1.1.1', 'service': 'wms', 'tiled': true, viewparams: 'UserId:' + userId },
                        serverType: 'geoserver'
                    })
                })
            );
            break;
        case

我找到的每个解决方案都是ol.layer.Vector,例如:https://jsfiddle.net/jonataswalker/ckfd9d1L/ 我有Tile个图层。 您能告诉我是否可以使用与Vector层相同的解决方案吗?

1 个答案:

答案 0 :(得分:0)

方法是为图标使用Vector图层,为地图使用Tile图层。首先添加Tile图层,然后添加Vector图层。这将把Vector层放在顶部,它是透明的,所以它看起来就像地图图块上的图标一样。 OpenLayers将负责确保两个图层平移和缩放。

有一个示例显示了一个非常类似于你链接的小提琴的方法,但是使用下面的Tile图层,看看我刚才回答的这个问题:

OpenLayers onmousedown load image

要更精确地控制图层排序,请查看z-index:

https://openlayers.org/en/latest/examples/layer-z-index.html