PrintTemplate

AMD: require(["geoscene/rest/support/PrintTemplate"], (PrintTemplate) => { /* code goes here */ });
ESM: import PrintTemplate from "@geoscene/core/rest/support/PrintTemplate";
类: geoscene/rest/support/PrintTemplate
继承于:PrintTemplate Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.20

定义 printPrintViewModel.print() 方法用于生成打印页面的布局模板选项。

构造函数

new PrintTemplate(properties)
参数
properties Object
optional

有关可能传递给构造函数的所有属性的列表,请参见属性

属性概述

可以设置、检索或侦听任何属性。请参阅使用属性主题。
显示继承属性 隐藏继承属性
名称 类型 描述
Boolean

当为 false 时,打印输出上不显示属性。

更多详情
PrintTemplate
String

类的名称。

更多详情
Accessor
Object

定义地图的宽度、高度和 dpi。

更多详情
PrintTemplate
Boolean

为 true 时,要素的属性将包含在要素集合图层中,即使在渲染不需要它们时也是如此。

更多详情
PrintTemplate
String

打印地图的输出格式。

更多详情
PrintTemplate
String

用于打印输出的布局。

更多详情
PrintTemplate
PortalItem

作为门户项目托管的自定义布局。

更多详情
PrintTemplate
Object

定义布局元素。

更多详情
PrintTemplate
Number

打印地图的可选地图比例。

更多详情
PrintTemplate
Boolean

定义打印的地图是否应保留地图比例或地图范围。

更多详情
PrintTemplate
Boolean

当为 true 时,标注将显示在布局上。

更多详情
PrintTemplate

属性详细信息

attributionVisible Boolean

当为 false 时,打印输出上不显示属性。这仅适用于 layout 值为 map-only 时的情况。参考授权和归属策略,了解具体的归属要求。

默认值:true
declaredClass Stringreadonly inherited

类的名称。声明的类名称格式化为 geoscene.folder.className

exportOptions Object

定义地图的宽度、高度和 dpi。当 layout = 'map-only' 时需要。有关为 exportOptions 设置的可用选项,请参阅以下对象规范表。

属性
width Number
optional

地图宽度。默认值为 800。如果修改了 dpi 的值,则 widthheight 将与 dpi 的变化成比例。如果单独修改 width 值,则不会修改 dpiheight 值。

height Number
optional

地图高度。默认值为 1100。如果修改了 dpi 的值,则 widthheight 将与 dpi 的变化成比例。如果单独修改 height 值,则不会修改 dpiwidth 值。

dpi Number
optional

分辨率,单位为每英寸点数。默认值为 96。如果修改了 dpi 的值,则 widthheight 将与 dpi 的变化成比例。

forceFeatureAttributes Boolean

为 true 时,要素的属性将包含在要素集合图层中,即使在渲染不需要它们时也是如此。默认情况下,将移除它们以减少请求大小。仅适用于使用要素属性的自定义打印服务,例如显示要素及其属性的表格。

默认值:false
format String

打印地图的输出格式。

可能值"pdf"|"png32"|"png8"|"jpg"|"gif"|"eps"|"svg"|"svgz"

默认值:png32
layout String

用于打印输出的布局。当值为 map-only 或为空时,输出地图将不包含任何页面布局元素 (例如,标题,图例、比例尺等)。打印服务提供在可能值中列出的现成模板。服务器管理员可以向打印服务添加其他模板。

下面列出了可能的值:

描述
map-only 地图不包含任何布局元素。仅打印地图图像。
a3-landscape A3 横向
a3-portrait A3 纵向
a4-landscape A4 横向
a4-portrait A4 纵向
letter-ansi-a-landscape 信纸 ANSI A 横向
letter-ansi-a-portrait 信纸 ANSI A 纵向
tabloid-ansi-b-landscape 小报 ANSI B 横向
tabloid-ansi-b-portrait 小报 ANSI B 纵向

可能值"map-only"|"a3-landscape"|"a3-portrait"|"a4-landscape"|"a4-portrait"|"letter-ansi-a-landscape"|"letter-ansi-a-portrait"|"tabloid-ansi-b-landscape"|"tabloid-ansi-b-portrait"

默认值:map-only
layoutItem PortalItem
起始版本:GeoScene Maps SDK for JavaScript 4.25

作为门户项目托管的自定义布局。要使用此属性,打印服务必须托管在 GeoScene Server 上,该服务器与门户项目所在的门户联合。

已知限制

此功能仅适用于 GeoScene Enterprise 4.0 及更高版本。

另请参阅
示例
let item = new PortalItem({
  id: "affa021c51944b5694132b2d61fe1057"
});

// specify your own print service
const printURL = " ";

const template = new PrintTemplate({
  layoutItem: item
});
const params = new PrintParameters({
  view,
  template
});

print.execute(printURL, params).then(printResult, printError);
layoutOptions Object

定义布局元素。它是一个具有以下属性的类:

属性
titleText String
optional

如果指定的布局包含标题文本元素,则为用于地图标题的文本。

authorText String
optional

如果指定的布局包含作者文本元素,则为用于作者的文本。

copyrightText String
optional

如果指定的布局包含版权文本元素,则为用于版权的文本。

scalebarUnit String
optional
默认值:Miles

用于比例尺的单位。

可能值"Miles"|"Kilometers"|"Meters"|"Feet"

legendLayers LegendLayer[]
optional

LegendLayer 数组,其中包含将包含在图例中的图层 id。GraphicsLayer 将不会出现在图例中。如果未指定 legendLayers,则 legendEnabledtrue 的所有图层 (GraphicsLayer 除外) 都将出现在图例中。要指定图例中不包含任何图层,请设置 legendLayer = []

customTextElements Object[]
optional

名称-值对的对象数组。使用此属性以更新页面布局上自定义文本元素的文本。值必须为字符串。自定义文本元素必须存在于打印服务中。所有开箱即用型打印服务布局模板都包含一个名为 date 的文本元素,默认情况下会填充系统日期时间,但可以覆盖。

elementOverrides Object
optional

包含打印服务中可更新的可选元素的对象。

示例
layoutOptions: {
  titleText: "My Print",
  authorText: "Sam",
  copyrightText: "My Company",
  scalebarUnit: "Miles",
  // the following text elements must
  // exist in the print service to appear
  customTextElements: [
    {"description": "My description"},
    {"location": "My Location"},
    {"date": "11/11/2020, 11:11:20 AM"}
  ],
  elementOverrides: {
    "North Arrow": {
      "visible": true
    }
  }
}
outScale Number

打印地图的可选地图比例。仅在 scalePreservedtrue 时适用。如果 outScale 为 0,则打印的地图将使用输入地图的比例。

默认值:0
scalePreserved Boolean

定义打印的地图是否应保留地图比例或地图范围。如果为 true,则打印的地图将使用 outScale 属性或默认为输入地图的比例。如果为 false,则打印的地图将使用与输入地图相同的范围,因此比例可能会改变。

默认值:true
showLabels Boolean

当为 true 时,标注将显示在布局上。

默认值:true

方法概述

显示继承的方法 隐藏继承的方法
名称 返回值类值 描述

添加一个或多个与对象的生命周期相关联的句柄。

更多详情
Accessor
Boolean

如果存在指定的句柄组,则返回 true。

更多详情
Accessor

移除对象拥有的句柄组。

更多详情
Accessor

方法详细说明

addHandles(handleOrHandles, groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

// Handle gets removed when the object is destroyed.
this.addHandles(handle);
参数
handleOrHandles WatchHandle|WatchHandle[]

对象销毁后,标记为要移除的句柄。

groupKey *
optional

标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。

hasHandles(groupKey){Boolean}inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

如果存在指定的句柄组,则返回 true。

参数
groupKey *
optional

组键。

返回
类型 描述
Boolean 如果存在指定的句柄组,则返回 true
示例
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}
removeHandles(groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

移除对象拥有的句柄组。

参数
groupKey *
optional

要移除的组键或组键的数组或集合。

示例
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息