首页 / 浏览问题 / WebGIS / 问题详情
openlayers 地图服务如何按面过滤显示
16EXP 2023年10月07日

请教下地图服务如何按几何面进行过滤显示呢

1个回答

您好,可以使用ID查询功能进行过滤显示指定ID的面,示例代码如下:

 query();

    function query() {
        var idsParam = new ol.supermap.GetFeaturesByIDsParameters({
            IDs: [233, 234],
            datasetNames: ["World:Countries"]
        });
        new ol.supermap.FeatureService(url).getFeaturesByIDs(idsParam).then(function (serviceResult) {
            var vectorSource = new ol.source.Vector({
                features: (new ol.format.GeoJSON()).readFeatures(serviceResult.result.features),
                wrapX: false
            });
            resultLayer = new ol.layer.Vector({
                source: vectorSource
            });
            map.addLayer(resultLayer);
        });
    }

示例代码中显示的就是ID为233和234的几何面

希望能够帮助到您!

815EXP 2023年10月07日
不是加vectorlayer,是地图服务map-的服务

var layer = new ol.layer.Tile({ source: new ol.source.TileSuperMapRest({ url: url, wrapX: true }), projection: 'EPSG:4326' }); map.addLayer(layer);

这种类型的图层
您好, 针对地图服务是过滤不了的,可以通过对地图服务进行查询来显示相应的面
好的 谢谢
...