Javascript Nebula.gl DrawPolygonMode未捕捉
我是nebula.gl的新手,我一直在尝试使用DrawPolygonMode捕捉我在可编辑层(而不是其他层)上放置的功能 该设置表示不需要Javascript Nebula.gl DrawPolygonMode未捕捉,javascript,reactjs,deck.gl,Javascript,Reactjs,Deck.gl,我是nebula.gl的新手,我一直在尝试使用DrawPolygonMode捕捉我在可编辑层(而不是其他层)上放置的功能 该设置表示不需要additionalSnapTargets,但仍应执行快照。此代码当前未出现这种情况: // index.tsx import React, { useState, useEffect } from 'react'; import DeckGL from 'deck.gl'; import { EditableGeoJsonLayer, DrawPolygo
additionalSnapTargets
,但仍应执行快照。此代码当前未出现这种情况:
// index.tsx
import React, { useState, useEffect } from 'react';
import DeckGL from 'deck.gl';
import { EditableGeoJsonLayer, DrawPolygonMode } from 'nebula.gl';
import { StaticMap } from 'react-map-gl';
// ...
// const viewState = ...
// const MAPBOX_TOKEN = ...
const selectedFeatureIndexes = [] as any;
const editableLayer = new EditableGeoJsonLayer({
id: 'geojson',
data: geojson,
pickable:true,
//@ts-ignore
modeConfig:{
enableSnapping:true
},
//@ts-ignore
mode: DrawPolygonMode,
pickingRadius:100,
selectedFeatureIndexes,
//@ts-ignore
onEdit: (e) => {setGeojson(e.updatedData)}
});
export function Map(props:any){
const [geojson, setGeojson] = useState({
type: 'FeatureCollection' as any,
features: [] as any} as any)
return(
<DeckGL
width='100%'
height='100%'
layers={[editableLayer]}
viewState={viewState}
controller={true}>
<StaticMap
width='100%'
height='100%'
mapboxApiAccessToken={MAPBOX_TOKEN} />
</DeckGL>
);
}
//index.tsx
从“React”导入React,{useState,useffect};
从“deck.gl”导入DeckGL;
从'nebula.gl'导入{EditableGeoJsonLayer,DrawPolygonMode};
从“react map gl”导入{StaticMap};
// ...
//const viewState=。。。
//常量映射框\u标记=。。。
const selectedfeatureindex=[]如有;
const editableLayer=新的EditableGeoJsonLayer({
id:'geojson',
数据:geojson,
pickable:是的,
//@ts忽略
模式配置:{
启用捕捉:true
},
//@ts忽略
模式:DrawPolygonMode,
皮金格拉迪乌斯:100,
选定的功能索引,
//@ts忽略
onEdit:(e)=>{setGeojson(e.updatedata)}
});
导出功能图(道具:任意){
const[geojson,setGeojson]=useState({
键入“FeatureCollection”,如有,
功能:[]如有}如有)
返回(
);
}
在绘制多边形时,是否缺少回调函数或该函数不可用?显示了如何使用翻译实现这一点,但我不确定这是否适用于DrawPolygonMode
模式。另外,模式:新建SnappableMode(new DrawPolygonMode())
不会产生我想要的效果
此外,我还必须放置几个/@ts ignore
,因为EditableGeoJsonLayer
无法识别某些参数(其中,mode
)
先谢谢你