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)
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 degraphic.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.