问题描述
我正在尝试在我的地图项目中实现绘图功能。我正在使用 Uber 的 react-map-gl-draw 库。根据他们的文档,您可以自己提供特征数据,否则库将在内部存储所有特征 -
" features (Feature[],Optional) - GeoJson 格式的功能列表。 如果功能是由用户提供的,则 react-map-gl-draw 尊重 用户的输入,因此忽略任何内部特征。但是如果 没有提供功能,然后 react-map-gl-draw 管理功能 在内部,用户可以通过以下方式访问和操作这些功能 调用 getFeatures、addFeatures 和 deleteFeatures。 "
https://nebula.gl/docs/api-reference/react-map-gl-draw/react-map-gl-draw
我的问题是,如果我使用的是函数式 React 组件而不是基于类的 React 组件,我该如何访问这些方法 getFeatures、addFeatures 和 deleteFeatures?
在他们的示例中,他们使用基于类的组件并在构造函数中设置一个引用变量,然后通过该引用访问这些方法 -
export default class App extends React.Component {
constructor(props) {
super(props);
this.state = {
// map
viewport: DEFAULT_VIEWPORT,// editor
selectedMode: null,selectedFeatureIndex: null,selectable: false,features: featureCollection,};
**this._editorRef = null;**
}
_onDelete = () => {
const { selectedFeatureIndex } = this.state;
if (selectedFeatureIndex === null || selectedFeatureIndex === undefined) {
return;
}
**this._editorRef.deleteFeatures(selectedFeatureIndex);**
};
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)