创作要发布为 KML 的地图
如果您期望用户以 KML 形式访问地图,则应遵循某些设计模式。本主题还包含有关如何准备地图以提供 KML 的某些要素的提示。例如,当用户查看您的 KML 服务并单击某点时,将在弹出窗口中显示什么?或如何创建使用“KML 区域”的高性能服务?这些都是在发布服务之前的地图创作阶段中需要进行的设置。
地图中可包含什么内容?
地图中可包括矢量和栅格图层。为这些要素类型设置的标注同时也会包含在 KML 中。
发布服务后,您可以选择是否允许客户端检索实际矢量要素或查看栅格化地图图像。同样,您还可选择对地图中的标注进行栅格化后在地球上对其平铺还是竖放,也可以选择在用户旋转地图时是否旋转标注(此类标注也称为“广告牌”标注)。
处理标注
地图中的标注将被转换为 KML。标注文本基于您在 ArcMap 中的“图层属性”对话框的“标注”选项卡中选择的字段。
如果您已禁用所有字段而仍然选择标注要素,则标注文本将基于主显示字段(有关主显示字段的详细信息,请参阅 ArcGIS Desktop 帮助中的了解字段属性、别名和表显示选项)。
KML 支持标注效果只有大小和颜色。阴影和晕圈等标注效果无法转移到 KML。每个要素只能应用一个标注。
设置描述和代码片段
描述和代码片段是 KML 中提供属性信息的两种方式。代码片段是描述某些内容(如标题)的一小段文本。描述是较长的解释,其中可包括文本、链接、图片及其他介质。
描述可确定在单击某个要素时出现的信息性弹出窗口中显示的内容。代码片段可定义内容列表中显示的内容。描述和代码片段都可在多个级别应用:要素级别、图层级别、数据框级别和网络链接级别。
设置代码片段
默认情况下,代码片段配置为不显示。在“管理器”中发布 KML 网络链接时,可通过取消选中抑制默认 KML 代码片段行为更改此设置。在这种情况下,如果定义了代码片段,则将使用该代码片段。如果未定义代码片段,则将使用描述中的前两行。
如果选择使用代码片段,代码片段将来源于数据中的字段。您可以通过为字段指定别名 KMLSnippet 来选择在代码片段中显示的字段。只能为一个字段指定此别名。
设置描述
您可以根据描述所适用的对象(网络链接、数据框、图层或单个要素)以不同的方式设置描述。
- 只有将服务发布为网络链接时,才可配置网络链接的描述。
- 数据框的描述基于“数据框属性”对话框的“常规”选项卡上的“描述”框中的内容。
- 图层的描述基于“图层属性”对话框的“常规”选项卡上的“描述”框中的内容。
- 单个要素的描述将由在 ArcMap 中的“图层属性”对话框的“HTML 弹出窗口”选项卡中指定的 XSL 样式表进行格式化。<ArcGIS 安装位置>\Styles\HTMLPopup 中包含一些示例样式表。
利用 XSL 样式表,您可使用要素属性值来构建具有任何 HTML 的弹出窗口。例如,您可以利用属性值定义模型参数,创建指向可返回 KMZ 的地理处理任务结果的链接。这样您便可以在 KML 浏览器环境中访问真实 GIS。您还可以将属性值用作查询参数,从而以相似方式链接到图层查询的结果。此外,还可以显示要素中的属性所引用的图像或 Flash 视频。总之,您可链接到 Web 中的任何 HTML 内容。
如果返回所有字段,则查询或地理处理任务中的 KML 将仅使用弹出窗口。如果只返回字段的子集,则样式表可能会引用不存在的字段,从而导致意外状况的发生。如果未返回任何字段,那么将返回字段名称和属性值的简单 HTML 表。
冗长及复杂的描述可导致 KML 客户端应用程序的性能下降。如果性能是考虑重点,则应避免使用冗长描述。为缩短描述,可考虑在描述中纳入指向包含相同材料的网页的简单链接。
如果要素密度较高且样式表较为复杂,请记住对每个要素应用样式表,而这时性能可能会出现问题。
拉伸要素
如果要发布包含 3D 属性(例如 z 偏移)的要素类或基于属性拉伸要素,则必须首先编辑 ArcGlobe 中的要素类图层属性,然后将要素类保存为图层文件,并将该图层文件添加到 ArcMap 文档中。
例如,假设有一个包含人口密度字段的面要素类。您希望在 3D KML 中显示此要素类,以使人口密度较高的面“突出显示”或被进一步拉伸。要执行此操作,可为 ArcGlobe 中的要素类设置拉伸属性,然后将要素类保存为图层文件,然后将该图层文件添加到 ArcMap 文档中。ArcMap 中不会显示任何高程或拉伸效果,但是发布的 KML 将具有 3D 外观。
有关此过程的演练,请参阅教程:发布 KML 服务。
设置图例
您可以创建图例,以对 KML 服务中图层的进行描述。服务器将搜索地图文档“布局”视图中的所有现有图例。如果找到了图例,则将其嵌入到 KML 中。
图例是动态的,如果更改了任何地图要素的符号系统或地图的比例(对于具有比例范围设置的图层),都将对图例进行更新。切勿将图例转换为图形,否则将不会被嵌入到 KML 中。
每个图例都以屏幕叠加的形式显示在 KML 中。这意味着,当用户平移和缩放地图时,图例始终在屏幕上可见。用户可以在基本位置(例如北、西北、西等)文件夹中选择图例在屏幕上放置的位置。
提示:如果只将此地图用于 KML,则无需担心 ArcMap 布局中图例的位置。
附加示例
有关为 KML 发布准备地图文档的示例工作流,请参阅 ArcGIS Desktop 帮助中的 KML 示例。