He integrado una capa de parcela en el mapa ArcGIS Esri dentro de la 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 emergentes se ven así.
ASSMT_YEAR - 2.017,00
ATTDATE - 20190130
BAÑOS - 0.00
Requisito
El formato de valor ASSMT_YEAR y YEAR_BUILT no debe incluir comas ni decimales.
El formato de valor ATTDATE y REC_DATE debe estar en formato de fecha. ( 30/01/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; } }); }Para dar formato a los campos de la ventana emergente, puede usar la propiedad de format de la ventana emergente fieldInfos .
ArcGIS JS API - Formato de información de campo
En tu caso, creo que esta configuración debería funcionar,
fieldInfos: [ { fieldName: "ASSMT_YEAR", label: "ASSMT Year", format: { dateFormat: "short-date" } }, { fieldName: "ATTDATE", label: "Attendance Date", format: { dateFormat: "short-date" } }, { fieldName: "BATHROOMS", label: "Bathrooms" format: { digitSeparator: true, places: 0 } } ] Ahora, está generando la ventana emergente usando la función popupUtils.createPopupTemplate . Entonces, para continuar en ese camino, deberá cambiar un poco.
Primero necesita saber qué campos cambiar, y en ese sentido tendrá que usar algo, por ejemplo, el tipo de campo.
En segundo lugar, creo que el cambio fácil sería en lugar de popupUtils.createPopupTemplate , use popupUtils.createFieldInfos y siga el ejemplo del documento.