我正在尝试使用没有 React 的 Deck.gl 设置 Nebulagl。然而,在绘制一个多边形后,这条线消失了。我正在用课堂风格写作。editableGeojasenlayer
我认为在我控制台之后 geojson 没有更新。
export class Panel {
constructor(viewer, container, id, title, options) {
const layers = this.getLayers();
const editableGeoJsonLayer = layers[0];
this.deck = new Deck({
initialViewState: INITIAL_VIEW_STATE,
canvas: "deck",
width: 300,
height: 300,
layers: layers,
controller: {
doubleClickZoom: false,
},
getCursor: editableGeoJsonLayer.getCursor.bind(editableGeoJsonLayer),
});
}
getLayers() {
const COUNTRIES =
"https://d2ad6b4ur7yvpq.cloudfront.net/naturalearth-3.3.0/ne_50m_admin_0_scale_rank.geojson"; //eslint-disable-line
let myFeatureCollection = {
type: "FeatureCollection",
features: [],
};
const layers = [
new EditableGeoJsonLayer({
id: "nebula",
data: myFeatureCollection,
selectedFeatureIndexes: [],
mode: DrawPolygonMode,
onEdit: ({ updatedData }) => {
myFeatureCollection = updatedData;
this.deck.setProps({ layers: this.getLayers() });
},
}),
];
return layers;
}