es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

ArcGIS Esri – La plantilla emergente no muestra los atributos gráficos del contenido personalizado. (Angular 11)

Voy a mostrar un customContent en una plantilla emergente de arcgis en una aplicación Angular 11. Pero el valor de graphic.attributes no aparece en el innerText. En la consola puedo ver que los objetos gráficos llegan como se espera. Pero muestra undefined para grahpic.attributes. ¿Alguien puede ayudar a resolver este problema?

new CustomContent({
    outFields: ["*"],
    creator: (eventOrGraphic) => {
        const graphic = eventOrGraphic instanceof Graphic ? eventOrGraphic : eventOrGraphic.graphic;
        const a = document.createElement("a");
        a.href = graphic.attributes.url;
        a.target = "_blank";
        a.innerText = graphic.attributes.url;
        return a;
    }
})

Console.log(eventOrGraphic)

graphic: p
destroy: ƒ value()
initialize: ƒ value()
uid: 1474
__accessor__: g {host: p, properties: Map(8), ctorArgs: null, destroyed: false, lifecycle: 2, …}
attributes: (...)    
geometry: (...)
isAggregate: (...)
layer: (...)
popupTemplate: (...)
sourceLayer: (...)
symbol: (...)
visible: (...)
[[Prototype]]: Object

Console.log(graphic.attributes) – undefined

arcgis-js-api(4.2.1)

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema puede estar relacionado con la propiedad attributes del objeto graphic, la cual muestra undefined en el registro de la consola. Es posible que los valores de los atributos no estén configurados correctamente o que no se estén pasando correctamente a la función CustomContent. Es posible que necesite revisar la fuente de datos y cómo se están recuperando los atributos.

    Otra posible solución podría ser utilizar la sintaxis eventOrGraphic.graphic.attributes en lugar de graphic.attributes en la función creator para recuperar el valor de los atributos del objeto eventOrGraphic en lugar del objeto graphic.

    También sería útil proporcionar más código o contexto para entender mejor el problema y brindar una respuesta más específica.

Comments are closed.