Можно достигнуть этого путем создания пользовательского режима из direct_select режима:
import * as MapboxDraw from '@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw';
import createSupplementaryPoints from '@mapbox/mapbox-gl-draw/src/lib/create_supplementary_points';
import Constants from '@mapbox/mapbox-gl-draw/src/constants';
const DirectSelectWithoutMiddleVertexMode = MapboxDraw.modes.direct_select;
DirectSelectWithoutMiddleVertexMode.toDisplayFeatures = function (state, geojson, push) {
if (state.featureId === geojson.properties.id) {
geojson.properties.active = Constants.activeStates.ACTIVE;
push(geojson);
createSupplementaryPoints(geojson, {
map: this.map,
midpoints: false,
selectedPaths: state.selectedCoordPaths
}).forEach(push);
} else {
geojson.properties.active = Constants.activeStates.INACTIVE;
push(geojson);
}
this.fireActionable(state);
};
export default DirectSelectWithoutMiddleVertexMode;
единственная вещь сделать состоит в том, чтобы установить midpoints
свойство к false
, который избегает создания средней точки.
После этого, используйте пользовательский режим для переопределения direct_select режима в опциях ничьей:
import DirectSelectWithoutMiddleVertexMode from './DirectSelectWithoutMiddleVertexMode';
const drawOptions = {
modes: Object.assign({
direct_select: DirectSelectWithoutMiddleVertexMode
}, MapboxDraw.modes)
};
const draw = new MapboxDraw(drawOptions);
Вы просто хотите передать потоком в файле и поместить текст в поле Label.text:
lable1.text= System.IO.File.ReadAllText( path );