我需要在 OpenLayer
Map 中显示 Map 标记 . 我有更多的图层 . 这就是代码中一层的样子:
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 回答
方法是为图标使用Vector图层,为 Map 使用Tile图层 . 首先添加Tile图层,然后添加Vector图层 . 这将把Vector层放在顶部,它是透明的,所以它看起来就像 Map 图块上的图标一样 . OpenLayers将负责确保两个图层平移和缩放 .
对于一个示例,显示一个非常类似于你链接的小提琴的方法,但是使用下面的Tile层,看看我刚才回答的这个问题:
OpenLayers onmousedown load image
要更精确地控制图层排序,请查看z-index:
https://openlayers.org/en/latest/examples/layer-z-index.html