我使用TypeScript的节点模块库
首先,我有一个多重的图层预加载,我只为绘制/修改功能分配一个
map = new Map({
target: 'map',
layers: [osm, swift, drawLayer],
view: view,
controls: defaults({attribution: false}).extend([attribution, new FullScreen()]),
});
const drawLayer = new VectorLayer({
source: new VectorSource({
features: [],
overlaps: true,
format: new GeoJSON(),
}),
visible: true,
style: (feature) => selectSingleClick(feature, ""),
properties: {olLayer: 'drawLayer', lyrs: {}},
});
我的逻辑是当用户想要编辑几何图形时,从API中获取我的数据。然后我像这样加载GeoJson。
const myGeoJsonFeatures: Feature<Geometry>[] = new GeoJson().readFeatures(data.html);
vLayers["drawLayer"].getSource().addFeatures(myGeoJsonFeatures);
当图层被更改时,我在getFeatures()中获得了该功能,但屏幕上没有任何内容。
我在文档或一些论坛上寻找解决这个问题的方法,但没有结果。
谢谢你的帮助。
1条答案
按热度按时间6tdlim6h1#
我通过隐藏所有图层并删除useGeographic()函数解决了这个问题。