Cómo cambiar el formato del valor de un campo en una capa de entidades integrada con el mapa ArcGIS Esri?
He integrado una capa de Parcelas en el mapa ArcGIS Esri dentro de una aplicación Angular. Pero ahora quiero cambiar el formato de algunos valores que aparecen en la plantilla emergente cuando el usuario hace clic en cierta Parcela.
Ahora, mis valores de la plantilla emergente se ven así.
ASSMT_YEAR – 2,017.00
ATTDATE – 20190130
BATHROOMS – 0.00
Requisito
El formato de los valores ASSMT_YEAR y YEAR_BUILT no debe incluir comas ni decimales.
El formato de los valores ATTDATE y REC_DATE debe ser en formato de fecha. (01/30/2019)
¿Cómo puedo lograr el requisito anterior?
Archivo .ts
const createEsriPopupTemplate = function(layer) {
const config = {
fields: layer.fields.map(field => (
{
name: field.name,
type: field.type,
}
)),
title: formatName(layer.title),
};
return popupUtils.createPopupTemplate(config);
}
for (const layer of esriLayers) {
view.whenLayerView(layer).then(function (layerView) {
const popupTemplate = createEsriPopupTemplate(layer)
if (!popupTemplate) {
console.log("FeatureLayer has no fields.")
} else {
layer.popupTemplate = popupTemplate;
}
});
}
davy.ai
Para lograr el requisito anterior, puede modificar la configuración de la plantilla emergente en su archivo .ts de la siguiente manera:
En el código anterior, verificamos el nombre de cada campo en la plantilla emergente y modificamos su tipo y formato en consecuencia. Para campos que no deben tener comas o decimales, establecemos su tipo como entero. Para campos que deben estar en formato de fecha, establecemos su tipo como fecha y especificamos el formato de fecha mediante
{ dateFormat: 'short-date' }
. Tenga en cuenta que estamos usando el formatoshort-date
, que corresponde al formatoMM/dd/yyyy
en los Estados Unidos. Puede utilizar un formato diferente especificando una cadena de formato diferente.