Personalización de las plantillas GetFeatureInfo de los conjuntos de datos¶
Al hacer “clic” sobre una característica de un conjunto de datos en un Mapa de GeoNode, aparece una ventana de información que muestra una representación formateada de los datos en bruto identificados por las coordenadas (ver Fig. 1).
Figura 1¶
La forma en que dicha información se presenta al usuario se define mediante lo que llamamos «Plantilla GetFeatureInfo». Esta última es básicamente un fragmento de HTML que contiene algunos marcadores de posición y códigos en línea especiales que instruyen a GeoServer sobre cómo generar la salida de datos sin procesar.
El resultado es un fragmento de HTML renderizado con los valores reales reemplazando los marcadores de posición de la plantilla.
Actualmente, GeoNode permite un mecanismo muy simple para personalizar la «Plantilla GetFeatureInfo» de un conjunto de datos.
Es posible, a través del Editor de metadatos del conjunto de datos, asignar un nombre, una etiqueta y también establecer los atributos que queremos mostrar en la salida de GetFeatureInfo.
Por ejemplo, utilizando el ejemplo anterior, podemos personalizar un poco los metadatos del conjunto de datos como se muestra en la Fig. 2
Figura 2¶
La salida «GetFeatureInfo» cambiará en consecuencia como se muestra en la Fig. 3
Figura 3¶
Plantilla simple: asignación de un tipo de medio a valores de atributo¶
La forma más sencilla de renderizar un tipo de medio diferente (imagen, audio, video o iframe) para un valor de propiedad es cambiarlo desde el panel de atributos de Edición de Metadatos.
Cambiando el Tipo de visualización de un atributo de este panel como se muestra en la Fig. 4
Figura 4¶
GeoNode creará automáticamente el tipo de medio HTML al renderizar utilizando el valor de la propiedad seleccionada.
Entonces, por ejemplo, si, en la figura anterior, el atributo NOMBRE contiene valores que representan algunos enlaces a otros recursos, GeoNode creará esos enlaces automáticamente cuando haga clic sobre una geometría.
Figura 5¶
Seleccionando image como tipo de medio (Fig. 6)
Figura 6¶
y editar el contenido en consecuencia (Fig. 7)
Figura 7¶
obtendrá un bonito efecto como se muestra en la Fig. 8
Figura 8¶
Plantilla avanzada: utilice una plantilla HTML personalizada¶
Seleccionando la opción ¿Usar una plantilla personalizada? como se muestra en la Fig. 9
Figura 9¶
Podrás proporcionar tu propia plantilla HTML personalizada para la salida de información de la función. Los atributos del conjunto de datos se pueden representar dentro de la plantilla usando ${properties.ATTRIBUTE}, donde ATTRIBUTE es el nombre de un atributo (campo) de su conjunto de datos.
El siguiente ejemplo utiliza los atributos wikipedia y name para mostrar el nombre del aeropuerto como un enlace a la página de Wikipedia:
Figura 10¶
Figura 11¶
Este es el resultado que se muestra al hacer clic en un aeropuerto
Figura 12¶