我需要在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
层相同的解决方案吗?
答案 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