光栅图块顶部的矢量图块未显示在openLayers中

光栅图块顶部的矢量图块未显示在openLayers中,openlayers,openlayers-3,vector-tiles,Openlayers,Openlayers 3,Vector Tiles,我正在尝试在开放图层地图版本4.3.3中的光栅图块上渲染矢量图块。两个平铺都在渲染,但矢量平铺没有显示在光栅平铺上。例如,我有一个状态的矢量平铺,希望它显示为光栅平铺顶部的半透明层。 我已经将向量图块存储在S3存储桶上,并使用tileLoadFunction从S3存储桶获取这些向量图块。我没有设置任何投影。我认为tileLoadFunction有一些默认的投影 以下是显示这两个分幅的代码: var map = new ol.Map({ layers: [ new ol.l

我正在尝试在开放图层地图版本4.3.3中的光栅图块上渲染矢量图块。两个平铺都在渲染,但矢量平铺没有显示在光栅平铺上。例如,我有一个状态的矢量平铺,希望它显示为光栅平铺顶部的半透明层。 我已经将向量图块存储在S3存储桶上,并使用tileLoadFunction从S3存储桶获取这些向量图块。我没有设置任何投影。我认为tileLoadFunction有一些默认的投影

以下是显示这两个分幅的代码:

var map = new ol.Map({
    layers: [
        new ol.layer.Tile({
            name: 'Tile',
            type: 'GeoJSON',
            source: new ol.source.XYZ({
                url: 'https://api.tiles.mapbox.com/v4/mapbox.emerald/{z}/{x}/{y}.png?access_token=' + MAPBOX_KEY
            })
        }),

        new ol.layer.VectorTile({
            name: 'VectorTile',
            type: 'MVT',
            source: new ol.source.VectorTile({
                format: new ol.format.MVT(),
                renderMode: 'vector',
                tileGrid: ol.tilegrid.createXYZ({ maxZoom: 14 }),
                url: 'data',
                tileLoadFunction: tileLoadFunction                    
            }),                 
            style: new ol.style.Style({
                fill: new ol.style.Fill({
                    color: 'rgba(0, 0, 0, 0.5)'
                }),
                stroke: new ol.style.Stroke({
                    color: 'white',
                    width: 3
                })
            })
        })
    ],
    target: 'map',
    view: new ol.View({
        center: [-7400327.330457623, 2062576.7712471967],
        maxZoom: 20,
        minzoom: 2,
        zoom: 8       
    })
});

 function tileLoadFunction(tile, url) {
   getSignedUrl(url, function(s3Url) {
   var loader = ol.featureloader.loadFeaturesXhr(s3Url, tile.getFormat(), 
                          tile.onLoad.bind(tile),                                                 
                          tile.onError.bind(tile));
        tile.setLoader(loader);
    }
任何人都可以指导,这里缺少什么来正确地将矢量图块显示为光栅图块上的半透明层


谢谢,

以下是我为自定义矢量层和光栅层所做的示例项目。我想这会帮助你解决问题


以下是我为自定义矢量层和光栅层所做的示例项目。我想这会帮助你解决问题


感谢Nisal的回复。但我试图实现的是使用ol.layer.VectorTile和ol.layer.ol.layer.Tile在png文件格式上显示.pbf文件格式。我能做到这一点,把这两层。好的,谢谢你的评论希望这个答案将有助于未来的人。感谢尼萨尔的回应。但我试图实现的是使用ol.layer.VectorTile和ol.layer.ol.layer.Tile在png文件格式上显示.pbf文件格式。我能做到这一点,把这两层。好的,谢谢你的评论,希望这个答案将有助于未来的人。