unable to integrate 3d editor widget or apply edit functionality in our 3d data

454
1
11-17-2020 09:51 PM
abhishek_shah
New Contributor III

Hello,

I want to have  edit functionality to  the attributes in webscene  but i am unable to do so ,i tried applyEdit  method from arcgis api also 3d editor widget but its not working,   kindly please check where i am getting wrong,i had published 3d layer from arcgis pro software and below i am sharing the scene layer associated with  feature layer as well as portal id of webscene, Thank you in advance

SceneLayer:

https://globolive3d.gl3d.in/agserver/rest/services/Hosted/Anupam_Land_Use/SceneServer

FeatureLayer

https://globolive3d.gl3d.in/agserver/rest/services/Hosted/Anupam_Land_Use/FeatureServer


webscene portal ID: 8482745e9d164eb5afb30a2f6cd883b5

 

 

Below is my code for 3d editor

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta
      name="viewport"
      content="initial-scale=1,maximum-scale=1,user-scalable=no"
    />
    <title>
      Edit features in 3D with the Editor widget | Sample | ArcGIS API for
      JavaScript 4.17
    </title>

    <link
      rel="stylesheet"
      href="https://js.arcgis.com/4.17/esri/themes/light/main.css"
    />
    <script src="https://js.arcgis.com/4.17/"></script>

    <style>
      html,
      body,
      #viewDiv {
        padding: 0;
        margin: 0;
        height: 100%;
        width: 100%;
      }

      .esri-editor .esri-item-list__scroller {
        max-height: 350px;
      }

      #setting {
        padding: 10px;
      }
    </style>

    <script>
      require([
        "esri/layers/FeatureLayer",
        "esri/WebScene",
        "esri/views/SceneView",
        "esri/widgets/Editor"
      ], function (FeatureLayer, WebScene, SceneView, Editor) {
        // Create a map from the referenced webscene item id
        let webscene = new WebScene({
          portalItem: {
            id: "8482745e9d164eb5afb30a2f6cd883b5"
          }
        });


        var view = new SceneView({
          container: "viewDiv",
          qualityProfile: "high",
          map: webscene
        });

        view.when(function () {
          view.popup.autoOpenEnabled = false; //disable popups
          // Create the Editor
          var editor = new Editor({
            view: view
          });
          // Add widget to top-right of the view
          view.ui.add(editor, "top-right");

          const satelliteCheckbox = document.getElementById("satellite");
          // change event handler to set the basempa accordingly
          satelliteCheckbox.addEventListener("change", function (event) {
            view.map.basemap = event.target.checked ? "satellite" : "";
          });
          // Add the checkbox to the bottom-right of the view
          view.ui.add("setting", "bottom-right");
        });
      });
    </script>
  </head>

  <body>
    <div id="viewDiv"></div>
    <div id="editorDiv"></div>
    <div id="setting" class="esri-widget">
      <input type="checkbox" id="satellite" /><label for="satellite"
        >Show satellite basemap</label
      ><br />
    </div>
  </body>
</html>

0 Kudos
1 Reply
NicolasGIS
Occasional Contributor III

Hello,

Your feature layer is not editable that is why the editor widget is not displaying anything:

https://globolive3d.gl3d.in/agserver/rest/services/Hosted/Anupam_Land_Use/FeatureServer

If you have a look at the following sample:

https://developers.arcgis.com/javascript/latest/sample-code/sandbox/index.html?sample=widgets-editor...

the feature layer "Recreation" is configured as editable:

https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/EditableFeatures3D/FeatureServer/1

At the very bottom you can see "add features", "update features" and "delete features" operations which is not the case on your feature layer.

 

Hope that help