自定义图层的GetFeatureInfo模板

当将图层的要素“单击”到GeoNode地图中时,会弹出一个信息窗口,显示由坐标标识的原始数据的格式化表示(参见图1)

../../../_images/getfetureinfo_templates_001.png

图1

这些信息如何呈现给用户的方式由我们称为“GetFeatureInfo模板”来定义。后者基本上是一个HTML片段,其中包含一些占位符和特殊的内联代码,这些代码指示Geoserver如何生成原始数据输出。

结果是呈现的HTML片段,其中实际值替换了模板的占位符。

目前,GeoNode提供了一种非常简单的机制来定制图层的“GetFeatureInfo模板”。

通过图层元数据编辑器向导,可以为要在GetFeatureInfo输出上显示的属性指定名称和标签。

请注意,如果存在其他属性,则不会呈现没有标签和名称的属性。

作为一个实例,通过使用上面的示例,我们可以对层元数据进行一点定制,如图2所示

../../../_images/getfetureinfo_templates_002.png

图2

“GetFeatureInfo”输出将相应地更改,如图3所示

../../../_images/getfetureinfo_templates_003.png

图3

简单模板:将媒体类型分配给属性值

呈现不同媒体类型的最简单方法 (imageaudiovideoiframe )设置为属性值,就是将其从 Metadata Editor Wizard 属性面板。

通过更改 Display Type 该面板中的属性,如图4所示

../../../_images/getfetureinfo_templates_004.png

图4

GeoNode在使用 价值 所选属性的。

因此,举个例子,如果在上图中,属性 NAME 包含表示某些 links 对于其他资源,在几何图形上单击时,GeoNode将自动为您创建这些链接。

../../../_images/getfetureinfo_templates_005.png

图5

选择 image 作为介质类型(图6)

../../../_images/getfetureinfo_templates_006.png

图6

并相应地编辑内容(图7)

../../../_images/getfetureinfo_templates_007.png

图7

你会得到一个很好的效果,如图8所示。

../../../_images/getfetureinfo_templates_008.png

图8

高级模板:使用自定义HTML模板

通过选择选项 Use a custom template? 如图9所示

../../../_images/getfetureinfo_templates_009.png

图9

您将能够为Feature Info输出提供您自己的自定义HTML模板。

下面的示例显示了如何使用 image 拿着 src 从属性中 NAME 值,通过使用关键字 ${{properties.NAME}}

../../../_images/getfetureinfo_templates_010.png

图10

../../../_images/getfetureinfo_templates_011.png

图11

../../../_images/getfetureinfo_templates_012.png

图12

../../../_images/getfetureinfo_templates_013.png

图13

可选:自定义HTML所见即所得编辑器菜单栏

这个 Menu BarTool Bar 可以通过重写HTML编辑器的 TINYMCE_DEFAULT_CONFIG 变量打开 settings.py (请参阅 TINYMCE_DEFAULT_CONFIG )

有许多插件和选项允许您轻松自定义编辑器,并且还提供了一些预定义的 模板 以加快编辑速度。

有关Javascript工具的更多信息,请参阅https://www.tiny.cloud/