1 votos

map.remove lanza error de tipo después de eliminar la capa en ArcGIS JS API 4.3

Estoy intentando eliminar una capa del mapView.

var LayertoRemove=map.findLayerById(layerID);
map.remove(LayertoRemove);

La capa se encuentra y se elimina realmente, pero después de eliminarla sigue lanzando TypeError: this.controller.destroy no es una función Cuando elimino estas dos líneas de código, el script funciona correctamente.

el error en la consola apunta a MapView.js de la API y no a ninguna línea de mi script. ¿Alguna sugerencia sobre qué está fallando aquí?

Actualización1: Las FeatureLayers que estoy intentando eliminar no son capas alojadas, sino generadas a partir de geometrías del lado del cliente (los gráficos se crean a partir de dos archivos csv tomados del cliente); sospecho que el error se está produciendo debido a la configuración de una de las propiedades de la capa, que necesito configurar cuando se crea la capa.

Actualización2: el registro de errores completo es:

 Uncaught TypeError: this.controller.destroy is not a function   MapView.js:510 
    at Object.d.detach (MapView.js:510)
    at Object.update (MapView.js:25)
    at k._animationFrame (init.js:329)

Actualización3: Ahora estoy casi seguro de que el problema está relacionado con mis propiedades featurelayer, ya que cuando intento map.remove con un featurelayer alojado, funciona bien. Los featurelayers se generan de la siguiente manera:

function createLayer(graphics,renderer,type,fields,title){
          lyr = new FeatureLayer({
            source: graphics, //an array of esri/Graphic
            fields:fields,
            objectIdField: "ObjectID", 
            renderer:renderer,
            spatialReference: {wkid: 4326},
            geometryType: type, 
            title:title,
            id:title
          });
          map.add(lyr);
    }

1voto

parisminton Puntos 123

¿Estás seguro de que tu variable "map" es un MapView y no una clase Map? El add , remove y findLayerById son propiedades de la clase Map (no de MapView). https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#methods-summary https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#methods-summary

Las versiones 4.x y 3.x son diferentes en este aspecto. https://developers.arcgis.com/javascript/latest/guide/migrating/index.html#views

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X