Skip to content

Drawing modes not working [Bug] #201

Open
@PacoVerduBravo

Description

@PacoVerduBravo

Module

  • deck.gl-community/arrow-layers
  • deck.gl-community/bing-maps
  • deck.gl-community/editable-layers
  • deck.gl-community/experimental
  • deck.gl-community/graph-layers
  • deck.gl-community/layers
  • deck.gl-community/react
  • deck.gl-community/react-graph-layer

Description

None of the drawing modes seem to be functioning as expected. When configuring the onEdit function, the editType parameter never arrives as addFeature. Additionally, in many cases, the onEdit function is not executed at all.

Expected Behavior

All drawing modes should work as expected

Steps to Reproduce

Unfortunately, I couldn't provide a CodeSandbox example because I encountered errors related to dependency setup

import React from 'react';
import DeckGl from '@deck.gl/react';
import Map from 'react-map-gl';
import {
  EditableGeoJsonLayer,
  ViewMode,
  DrawRectangleUsingThreePointsMode,
  DrawPointMode,
  DrawRectangleFromCenterMode,
  DrawPolygonMode,
  DrawLineStringMode,
  MeasureDistanceMode,
  Draw90DegreePolygonMode
} from '@deck.gl-community/editable-layers';

const MisionMap = () => {
  const MAPBOX_ACCESS_TOKEN =  " "
  const mapsStyles = {
    Dark: 'mapbox://styles/mapbox/dark-v10',
    Satelite: 'mapbox://styles/mapbox/satellite-v9',
    Positron: 'https://basemaps.cartocdn.com/gl/positron-gl-style/style.json'
  };
  const INITIAL_VIEW_STATE = {
    longitude: -3.3052,
    latitude: 42.4247,
    zoom: 13,
    maxPitch: 70,
    pitch: 5,
    bearing: 0
  };
  const [features, setFeatures] = React.useState({
    type: 'FeatureCollection',
    features: []
  });
  const [mode, setMode] = React.useState(() => DrawPointMode);
  const [selectedFeatureIndexes] = React.useState([]);

  const layer = new EditableGeoJsonLayer({
    data: features,
    mode,
    selectedFeatureIndexes,
    onEdit: ({ editType, updatedData }) => {
      console.log(editType);
      setFeatures(updatedData);
    }
  });
  return (
    <DeckGl
      initialViewState={INITIAL_VIEW_STATE}
      controller={{
        doubleClickZoom: false
      }}
      layers={[layer]}
      // getCursor={layer.getCursor.bind(layer)}
    >
      <Map mapStyle={mapsStyles.Dark} maxPitch={70} reuseMaps mapboxAccessToken={MAPBOX_ACCESS_TOKEN} />
    </DeckGl>
  );
};

export default MisionMap;

Environment

  • Framework version: React 18.2 & 19.0.0
  • Browser: Chrome
  • OS: Ubuntu 22.04

Logs

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions