GroupLayer

AMD: require(["geoscene/layers/GroupLayer"], (GroupLayer) => { /* code goes here */ });
ESM: import GroupLayer from "@geoscene/core/layers/GroupLayer";
类: geoscene/layers/GroupLayer
继承于:GroupLayer Layer Accessor
起始版本:GeoScene API for JavaScript 4.0

GroupLayer 提供了将多个子图层组织到一个公共图层中的功能。假设有几个 FeatureLayers,它们都以不同的维度表示水要素。例如,井(点)、河流(线)和湖泊(面)。GroupLayer 提供了将它们视为一个名为“水要素”的图层的功能,即使它们存储为单独的要素图层也是如此。为此,请创建一个新的 GroupLayer,并使用 add() 方法将每个水图层添加到 GroupLayer。

每个图层的可见性在 listModevisibilityMode 属性中进行管理。

另请参阅:

构造函数

new GroupLayer(properties)
参数:
properties Object
可选

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

属性概述

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

混合模式用于将图层混合在一起,以在图层中创建有趣的效果,甚至产生看起来像新图层的内容。

更多信息GroupLayer
String更多信息

类的名称。

更多信息Accessor
Effect更多信息

Effect 提供了可在图层上执行的各种滤镜要素,以实现类似于图像滤镜工作方式的不同视觉效果。

更多信息GroupLayer
String更多信息

分配给图层的唯一 ID。

更多信息Layer
Collection<Layer>更多信息

业务图层的集合。

更多信息GroupLayer
String更多信息

指示图层在图层列表微件中的显示方式。

更多信息Layer
布尔值更多信息

指示图层的资源是否已加载。

更多信息Layer
错误更多信息

如果加载时发生错误,则返回 Error 对象。

更多信息Layer
String更多信息

表示加载操作的状态。

更多信息Layer
Object[]更多信息

加载时发生的警告列表。

更多信息Layer
整数更多信息

图层在视图中可见时的最大比例 (放至最大)。

更多信息GroupLayer
整数更多信息

图层在视图中可见的最小比例(最大缩小)。

更多信息GroupLayer
整数更多信息

图层不透明。

更多信息Layer
PortalItem更多信息

从中加载图层的门户项目。

更多信息GroupLayer
Collection<Layer>更多信息

图层实例的集合,它们是保存在地图和/或 WebMap 中的表格。

更多信息GroupLayer
String更多信息

图层的标题,用于在“图层列表”微件等位置标识该图层。

更多信息Layer
String更多信息 对于GroupLayer 类型始终为 "group"更多信息GroupLayer
String更多信息

指示如何管理子图层的可见性。

更多信息GroupLayer
布尔值更多信息

指示图层在视图中是否可见。

更多信息Layer

属性详情

blendMode String
起始版本:GeoScene API for JavaScript 4.16

混合模式用于将图层混合在一起,以在图层中创建有趣的效果,甚至产生看起来像新图层的内容。与使用透明度的方法不同,透明度会导致顶层褪色,混合模式可以通过混合图层及其下方的图层来创建各种非常生动和有趣的结果。

混合图层时,top layer 是应用了混合模式的图层。顶层下面的所有层都是 background layers。默认混合模式是 normal 的,顶层只是显示在背景图层上。虽然这种默认行为是完全可以接受的,但在图层上使用混合模式为生成创意地图开辟了无限可能的世界。

GroupLayer 中的图层与地图的其余部分隔离地混合在一起。

在以下屏幕截图中,复古阴影浮雕图层显示在萤火虫世界图像图层上。color 混合模式应用于复古阴影浮雕,结果看起来像一个新图层。

color-blend

已知限制

  • 3D SceneViews 不支持 blendMode。
  • 图例中不支持 blendMode。
  • 有关已知的打印限制,请参阅打印

以下因素会影响混合结果:

  • 所有图层的顺序
  • 图层不透明度
  • 图层中要素的不透明度
  • 图层的可见性
  • 默认情况下,地图中最底层的图层绘制在透明背景上。您可以更改 MapView 的背景色

可能值:"average"|"color-burn"|"color-dodge"|"color"|"darken"|"destination-atop"|"destination-in"|"destination-out"|"destination-over"|"difference"|"exclusion"|"hard-light"|"hue"|"invert"|"lighten"|"lighter"|"luminosity"|"minus"|"multiply"|"normal"|"overlay"|"plus"|"reflect"|"saturation"|"screen"|"soft-light"|"source-atop"|"source-in"|"source-out"|"vivid-light"|"xor"

默认值:normal
另请参阅:
declaredClass Stringreadonly inherited
起始版本:GeoScene API for JavaScript 4.7

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

起始版本:GeoScene API for JavaScript 4.18

Effect 提供了可在图层上执行的各种滤镜要素,以实现类似于图像滤镜工作方式的不同视觉效果这种强大的功能允许您将类似 css 过滤器的功能应用于图层以创建自定义视觉效果,从而提高地图的制图质量。这是通过将所需效果作为字符串或对象数组应用于图层的 effect 属性来设置与比例相关的效果来完成的。

笔记

  • 如果需要应用满足或未通过指定过滤器的不同效果的功能,请设置 featureEffect 属性。
  • 如果应用了以下所有四个属性,则它们将按此顺序应用:featureEffect, effect, opacityblendMode

已知限制

默认值:null
另请参阅:
示例:
// the following effect will be applied to the layer at all scales
// brightness will be applied first, then hue-rotate followed by contrast
// changing order of the effects will change the final result
layer.effect = "brightness(5) hue-rotate(270deg) contrast(200%)";
// set a scale dependent bloom effect on the layer
layer.effect = [
  {
    scale: 36978595,
    value: "drop-shadow(3px, 3px, 4px)"
  },
  {
    scale: 18489297,
    value: "drop-shadow(2px, 2px, 3px)"
  },
  {
    scale: 4622324,
    value: "drop-shadow(1px, 1px, 2px)"
  }
];

分配给图层的唯一 ID。如果未由开发人员设置,则会在加载图层时自动生成。

Autocasts from Layer[]

业务图层的集合。此属性包含可查询、分配不同渲染器、分析等业务图层(如 FeatureLayersWebTileLayersGraphicsLayers)。它不包括 底图

图层是表示真实世界现象的一个或多个要素或图形的集合。每个要素都包含一个符号地理数据,允许将其作为具有空间上下文的图形在地图上呈现。图层中的要素还包含数据属性,这些属性可以在弹出窗口中查看并用于渲染图层的其他信息。

可以使用 add()addMany() 方法在构造函数中添加图层,也可以使用 add()addMany() 直接添加到图层集合中。

在 3D 模式下,对于在地形上渲染的图层,图层的顺序还取决于图层的类型。切片图层(VectorTileLayerWebTileLayerWMTSLayer)始终按照图层集合中指定的顺序首先绘制。动态图层(MapImageLayerImageryLayerWMSLayer 和具有on-the-ground 高程模式的基于要素的图层)使用图层集合中的顺序呈现在顶部。

一个图层只能添加到一个父级。无法将同一图层添加到多个地图GroupLayers。如果您尝试这样做,图层将自动从其当前父级中删除并放置在新父级中。

let layer = new GraphicsLayer();
// The layer belongs to map1
map1.layers.add(layer);
// The layer now belongs to map2
// and implicitly does: map1.layers.remove(layer)
map2.layers.add(layer);

要从要素图层访问表,请使用 MapWebMap 类中的 tables 属性。

示例:
// Add layers in the constructor of Map using an array
let fl = new FeatureLayer(url);
let gl = new GraphicsLayer();
let map = new Map({
  layers: [fl, gl]
});

// Add layers using add()
map.addMany([fl, gl]);

// Add layers using layers collection
map.layers.addMany([fl, gl]);

// Add layers using layers collection's push method
map.layers.push(fl, gl);
listMode String inherited

指示图层在图层列表微件中的显示方式。下面列出可能值为:

说明
show 该图层在内容列表中可见。
hide 图层隐藏在内容列表中。
hide-children 如果图层时 GroupLayerBuildingSceneLayerKMLLayerMapImageLayer, TileLayerWMSLayer,请从内容列表中隐藏子图层。

可能值:"show"|"hide"|"hide-children"

默认值:show
loaded Booleanreadonly inherited

指示图层的资源是否已加载。当 true 时,可以访问对象的所有属性。

默认值:false
loadError Errorreadonly inherited

如果加载时发生错误,则返回 Error 对象。

默认值:null
loadStatus Stringreadonly inherited

表示加载操作的状态。

说明
not-loaded 对象的资源尚未加载。
loading 对象的资源当前正在加载。
loaded 对象的资源已加载且未出现错误。
failed 无法加载对象的资源。有关更多详情,请参阅加载错误

可能值:"not-loaded"|"loading"|"failed"|"loaded"

默认值:not-loaded
loadWarnings Object[]readonly inherited

加载时发生的警告列表。

maxScale Number
起始版本:GeoScene API for JavaScript 4.19

图层在视图中可见时的最大比例 (放至最大)。如果地图放大至超过此比例,则图层将不可见。值为 0 时,表示该图层没有最大比例。maxScale 值应始终小于 minScale 值,并且大于或等于服务规范。

默认值:0
示例:
// The layer will not be visible when the view is zoomed in beyond a scale of 1:1,000
layer.maxScale = 1000;
// The layer's visibility is not restricted to a maximum scale.
layer.maxScale = 0;
minScale Number
起始版本:GeoScene API for JavaScript 4.19

图层在视图中可见的最小比例(最大缩小)。如果地图缩小到超出此比例,则图层将不可见。值为 0 表示该图层没有最小比例。minScale 应始终大于 maxScale 值,并且小于或等于服务规范。

默认值:0
示例:
// The layer will not be visible when the view is zoomed out beyond a scale of 1:3,000,000
layer.minScale = 3000000;
// The layer's visibility is not restricted to a minimum scale.
layer.minScale = 0;

图层不透明。此值的范围在 10 之间,其中 0 是 100% 透明,而 1 为完全不透明。

默认值:1
示例:
// Makes the layer 50% transparent
layer.opacity = 0.5;
portalItem PortalItem

从中加载图层的门户项目。如果门户项目引用要素服务或场景服务,则可以使用 layerId 属性指定要加载的单个图层。

从版本 4.17 开始,可以从 GeoScene Online 和 GeoScene Enterprise 中托管的要素服务项目加载表。这仅适用于要素图层,如果 FeatureLayer.isTable 返回 true,将成功加载。

示例:
// While this example uses FeatureLayer, this same pattern can be
// used for other layers that may be loaded from portalItem ids.
const lyr = new FeatureLayer({
  portalItem: {  // autocasts as new PortalItem()
    id: "caa9bd9da1f4487cb4989824053bb847"
  }  // the first layer in the service is returned
});
// Set hostname when using an on-premise portal (default is GeoScene Online)
// geosceneConfig.portalUrl = "http://myHostName.geoscene.cn/geoscene";

// While this example uses FeatureLayer, this same pattern can be
// used for SceneLayers.
const lyr = new FeatureLayer({
  portalItem: {  // autocasts as new PortalItem()
    id: "8d26f04f31f642b6828b7023b84c2188"
  },
  // loads the third item in the given feature service
  layerId: 2
});
// This snippet loads a table hosted in GeoScene Online.
const table = new FeatureLayer({
  portalItem: { // autocasts as geoscene/portal/PortalItem
    id: "123f4410054b43d7a0bacc1533ceb8dc"
  }
});

// Before adding the table to the map, it must first be loaded and confirm it is the right type.
table.load().then(function() {
  if (table.isTable) {
    map.tables.add(table);
  }
});
Autocasts from Layer[]

图层 实例的集合,它们是保存在地图和/或 WebMap 中的表格。为了使表被识别,FeatureLayer 的 isTable 属性必须返回 true。可以通过以下选项之一创建表:

  • 将 URL 引用到要素服务中的表。
  • 使用 Layer.fromGeoSceneServerUrl 方法创建一个要素图层,并使用要素图层的 isTable 属性确认它是一个表。这可以是要素服务或要素集合。
  • 使用 Layer.fromPortalItem 方法创建一个要素图层,并使用要素图层的 isTable 属性确认它是一个表。这可以是要素服务或要素集合。
  • 创建内存中的非空间客户端要素图层。

从 4.17 开始,可以将要素服务中的非空间表保存到 WebMap,但尚不支持内存中(要素集合)表。

尚不支持在 GroupLayer 中持久化表。如果需要,请将其添加到地图 和/或 WebMap

目前,仅识别要素服务要素图层

要访问空间图层,请使用 MapWebMap 类中的 layers 属性。

另请参阅:
示例:
// This snippet shows how to add a table to a map's table collection.

// FeatureLayer.isTable = false
const featureLayer = new FeatureLayer({
  url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/SF311/FeatureServer/0"
});

// FeatureLayer.isTable = true
const table = new FeatureLayer({
  url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/SF311/FeatureServer/1"
});

// Add featureLayer to the map
map.add(featureLayer);

// In order for the table to be stored within
// the map's table collection, load it and confirm it is the right type.

table.load().then(function() {
  // Add the table to the collection
  map.tables.add(table);
  console.log("Table is added to map's table collection");
});
// This snippet shows how to persist a table to an existing web map

// FeatureLayer.isTable = true
const table = new FeatureLayer({
  url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/Crash_details_table/FeatureServer/0"
});

// Create Webmap instance
const webmap = new WebMap({
  portalItem: {
    id: webmapId
  }
});

// When web map is ready, load the table and add it to the web map
webmap.when(function() {
  table.load().then(function() {
    console.log("Adding table");
    // Add table to the webmap's table collection
    webmap.tables.add(table);
  });
});

// Call updateFrom on webmap and pass in the existing view
webmap.updateFrom(view).then(function() {
  // Call saveAs (or save) on the web map
  webmap.saveAs({
    // autocasts as new PortalItem()
    title: "New WebMap"
  });
});
// This snippet shows how to add an in-memory table to a map

// Create the array of objects containing field info
const fields = [{
  name: "ObjectID",
  alias: "ObjectID",
  type: "oid"
},
{
  name: "tree_type",
  alias: "Tree type",
  type: "string"
},
{
  name: "species",
  alias: "Species",
  type: "string"
}];

// Create the array of graphics holding attribute info
const graphics = [{
  attributes: {
    "tree_type": "deciduous",
    "species": "maple",
    "ObjectID": 2
  }
}, {
  attributes: {
    "tree_type": "coniferous",
    "species": "pine",
    "ObjectID": 3
  }
}];

// Create the feature layer (feature collection) table
const table = new FeatureLayer({
  fields: fields,
  objectIdField: "ObjectID",
  source: graphics
});

// Check when map is ready and load the table
map.when(function() {
  table.load().then(function() {
    console.log("Adding table");
    map.tables.add(table);
  });
});
层的标题,用于在“图层列表”微件等位置标识该图层。

如果图层是从门户项目加载的,则将使用门户项目的标题。如果图层作为 webmap 或 webscene 的一部分加载,则将使用存储在 webmap/webscene 中的图层标题

type Stringreadonly

对于 GroupLayer 类型总为 "group"

visibilityMode String

指示如何管理子图层的可见性。下表描述了可能的值。

说明
independent 每个子图层独立于其他图层管理其可见性。
inherited 每个子图层的可见性与 GroupLayer 的可见性相匹配。
exclusive 一次只能看到一个子图层。

可能值:"independent"|"inherited"|"exclusive"

指示图层在视图中是否可见。当为 false 时,图层可能仍会添加到视图中引用的 地图 实例,但其要素在视图中将不可见。

默认值:true
示例:
// The layer is no longer visible in the view
layer.visible = false;

方法概述

隐藏继承方法 显示继承方法
名称 返回类型 描述
更多信息

将图层添加到图层集合

更多信息GroupLayer
更多信息

将一个图层或一组图层添加到图层集合

更多信息GroupLayer
更多信息

如果 load() 操作已在进行中,则取消该操作。

更多信息Layer
Promise<LayerView>更多信息

当图层添加到 Map.layers 集合并且必须为其创建图层视图时,由视图(例如 MapViewSceneView)调用。

更多信息Layer
更多信息

销毁图层和任何关联的资源(包括其 portalItem,如果它是图层上的属性)。

更多信息Layer
布尔值更多信息

在实例上发出事件。

更多信息Layer
Layer更多信息

返回基于给定图层 ID 的图层。

更多信息GroupLayer
SearchTable更多信息

根据给定的表 ID 返回一个表。

更多信息GroupLayer
布尔值更多信息

指示实例上是否存在与提供的事件名称匹配的事件侦听器。

更多信息Layer
布尔值更多信息

isFulfilled() 可用于验证创建类的实例是否已完成(已解决或已拒绝)。

更多信息Layer
布尔值更多信息

isRejected() 可用于验证创建类的实例是否被拒绝。

更多信息Layer
布尔值更多信息

isResolved() 可用于验证创建类的实例是否已解决。

更多信息Layer
Promise更多信息

加载此类引用的资源。

更多信息Layer
Promise<GroupLayer>更多信息

加载与图层组关联的所有外部可加载资源。

更多信息GroupLayer
Object更多信息

在实例上注册事件处理程序。

更多信息Layer
Layer更多信息

从图层集合中移除指定的图层。

更多信息GroupLayer
Layer[]更多信息

移除所有图层。

更多信息GroupLayer
Layer[]更多信息

删除指定图层。

更多信息GroupLayer
Layer更多信息

更改图层顺序。

更多信息GroupLayer
Promise更多信息

when() 可以在创建类的实例后利用。

更多信息Layer

方法详情

add(layer, index)

将图层添加到图层集合。调用此方法时将发出 before-changesbefore-addafter-add, after-changeschange

参数:

图层或解析为图层以添加到图层集合的promise。

index Number
可选

可以在图层集合中的指定索引处添加图层。如果未指定索引或指定的索引大于当前图层数,则该图层会自动附加到图层集合中的图层列表中,并且索引会被规范化。

另请参阅:
示例:
// add() and push methods can be used
// to add a layer to layers collection

// add a layer to layers collection using add
map.add(layer);

// add a layer at the end of layers collection
map.layers.push(layer);
addMany(layers, index)

将一个图层或一组图层添加到图层集合。调用此方法时将发出 before-changesbefore-addafter-add, after-changeschange

图层集合上的 push() 方法也可用于添加一个或多个图层。

参数:
layers Layer[]

要添加到图层集合的图层。

index Number
可选

可以在图层集合中的指定索引处添加图层。如果未指定索引或指定的索引大于当前图层数,则该图层会自动附加到图层集合中的图层列表中,并且索引会被规范化。

另请参阅:
示例:
// addMany and push methods can be used
// to add layers to layers collection

// add an array of layers to layers collection using addMany
map.addMany([layer, layer2]);

// add layers to layers collection using push method
map.layers.push(layer, layer2);
cancelLoad()inherited

如果 load() 操作已在进行中,则取消该操作。

createLayerView(view, options){Promise<LayerView>}inherited

当图层添加到 Map.layers 集合并且必须为其创建图层视图时,由视图(例如 MapViewSceneView)调用。此方法在内部使用,没有直接调用它的用例。

参数:
view *

父视图。

options Object
可选

指定其他选项的对象。有关此对象的必需属性,请参阅下面的对象规范表。

规范:
可选

中止层视图创建的信号。

返回:
类型 说明
Promise<LayerView> 使用 LayerView 实例进行解析。
另请参阅:
destroy()inherited
起始版本:GeoScene API for JavaScript 4.17

销毁图层和任何关联的资源(包括其 portalItem,如果它是图层上的属性)。该图层一旦被破坏就不能再使用了。

被破坏的图层将从其父对象(如 MapWebMapWebSceneBasemapGroundGroupLayer)中移除。

另请参阅:
emit(type, event){Boolean}inherited
起始版本:GeoScene API for JavaScript 4.5

在实例上发出事件。仅当创建此类的子类时,才应使用此方法。

参数:
type String

事件的名称。

event Object
可选

事件负载。

返回:
类型 说明
布尔值 true 如果通知了侦听器
findLayerById(layerId){Layer}

返回基于给定图层 ID 的图层。

参数:
layerId String

分配给图层的 ID。

返回:
类型 说明
图层 返回请求的图层对象。
findTableById(tableId){SearchTable}
起始版本:GeoScene API for JavaScript 4.18

根据给定的表 ID 返回一个表。

参数:
tableId String

分配给表的 ID。

返回:
类型 说明
SearchTable 返回请求的表对象。
hasEventListener(type){Boolean}inherited

指示实例上是否存在与提供的事件名称匹配的事件侦听器。

参数:
type String

事件的名称。

返回:
类型 说明
布尔值 如果类支持输入事件,则返回 true。
isFulfilled(){Boolean}inherited

isFulfilled() 可用于验证创建类的实例是否已完成(已解决或已拒绝)。如果满足,则返回 true

返回:
类型 说明
布尔值 指示创建类的实例是否已完成(已解决或已拒绝)。
isRejected(){Boolean}inherited

isRejected() 可用于验证创建类的实例是否被拒绝。如果拒绝,则返回 true

返回:
类型 说明
布尔值 指示创建类的实例是否已被拒绝。
isResolved(){Boolean}inherited

isResolved() 可用于验证创建类的实例是否已解决。如果已解决,则返回 true

返回:
类型 说明
布尔值 指示创建类的实例是否已解决。
load(signal){Promise}inherited

加载此类引用的资源。如果视图是使用地图实例构造的,则此方法会自动为视图及其在地图中引用的所有资源执行。

开发人员在访问不会在视图中加载的资源时必须调用此方法。

load() 方法仅在第一次调用时触发资源的加载。随后的调用返回相同的promise。

可以提供一个 signal 来停止对 Loadable 实例的加载状态感兴趣。当信号中止时,实例不会停止其加载过程,只有 cancelLoad 可以中止它。

参数:
可选

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被一个名为 AbortError错误 拒绝。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回:
类型 说明
Promise 资源已加载时解析。
loadAll(){Promise<GroupLayer>}
起始版本:GeoScene API for JavaScript 4.9

加载与图层组关联的所有外部可加载资源。对于组图层,这将加载所有图层。

返回:
类型 说明
Promise<GroupLayer> 当所有可加载资源都已加载时解析。如果至少有一个可加载资源未能加载,则拒绝。
另请参阅:
示例:
// Load all resources but ignore if one or more of them failed to load
groupLayer.loadAll()
  .catch(function(error) {
    // Ignore any failed resources
  })
  .then(function() {
    console.log("All loaded");
  });
on(type, listener){Object}inherited

在实例上注册事件处理程序。调用此方法以将事件与侦听器挂钩。

参数:

要侦听的事件或事件数组。

listener Function

事件触发时调用的函数。

返回:
类型 说明
Object 返回带有 remove() 方法的事件处理程序,应调用该方法以停止侦听事件。
属性 类型 说明
remove 函数 调用时,从事件中删除侦听器。
示例:
view.on("click", function(event){
  // event is the event handle returned after the event fires.
  console.log(event.mapPoint);
});
remove(layer){Layer}

从图层集合中移除指定的图层。调用此方法时将发出 before-changesbefore-removeafter-remove, after-changeschange 事件。

参数:
layer Layer

要从图层集合中删除的图层。

返回:
类型 说明
图层 返回从图层集合中删除的图层。
removeAll(){Layer[]}

移除所有图层。调用此方法时将发出 before-changesbefore-removeafter-remove, after-changeschange 事件。

返回:
类型 说明
Layer[] 返回从图层集合中删除的图层。
removeMany(layers){Layer[]}

删除所有图层。调用此方法时将发出 before-changesbefore-removeafter-remove, after-changeschange 事件。

参数:
layers Layer[]

要从图层集合中删除的图层数组。

返回:
类型 说明
Layer[] 返回从图层集合中删除的图层。
reorder(layer, index){Layer}

更改图层顺序。添加的第一层始终是基础层,即使其顺序已更改。调用此方法时将发出更改事件。

在 3D 模式下,对于在地形上渲染的图层,图层的顺序还取决于图层的类型。切片图层(VectorTileLayerWebTileLayerWMTSLayer)始终按照图层集合中指定的顺序首先绘制。动态图层(MapImageLayerImageryLayerWMSLayer 和具有on-the-ground 高程模式的基于要素的图层)使用图层集合中的顺序呈现在顶部。

参数:
layer Layer

要移动的图层。

index Number

放置图层的索引位置。最底层的索引为 0

返回:
类型 说明
图层 返回被移动的图层。
when(callback, errback){Promise}inherited
起始版本:GeoScene API for JavaScript 4.6

when() 可以在创建类的实例后利用。这个方法有两个输入参数:一个 callback 函数和一个 errback 函数。callback 在类的实例加载时执行。errback 在类的实例无法加载时执行。

参数:
callback Function
可选

当 promise 解决时调用的函数。

errback Function
可选

当 promise 失败时执行的函数。

返回:
类型 说明
Promise 返回 callback 结果的新承诺,可用于链接其他函数。
示例:
// Although this example uses MapView, any class instance that is a promise may use when() in the same way
let view = new MapView();
view.when(function(){
  // This function will execute once the promise is resolved
}, function(error){
  // This function will execute if the promise is rejected due to an error
});

事件概述

隐藏继承事件 显示继承事件
名称 类型 描述
{view: View,layerView: LayerView}

在视图中创建并渲染图层的 LayerView 后激发。

Layer
{view: View,error: Error}

在将图层添加到地图后,在创建 LayerView 期间发出错误时触发。

Layer
{view: View,layerView: LayerView}

在图层的 LayerView 被销毁且不再在视图中渲染后触发。

Layer

事件详述

layerview-createinherited

在视图中创建并渲染图层的 LayerView 后激发。

属性:
view View

创建 layerView 的视图。

layerView LayerView

在视图中呈现的 LayerView 表示 layer 中的图层。

另请参阅:
示例:
// This function will fire each time a layer view is created for this
// particular view.
layer.on("layerview-create", function(event){
  // The LayerView for the layer that emitted this event
  event.layerView;
});
layerview-create-errorinherited

在将图层添加到地图后,在创建 LayerView 期间发出错误时触发。

属性:
view View

未能为发出此事件的图层创建层视图的视图。

error Error

描述图层视图创建失败原因的错误对象。

另请参阅:
示例:
// This function fires when an error occurs during the creation of the layer's layerview
layer.on("layerview-create-error", function(event) {
  console.error("LayerView failed to create for layer with the id: ", layer.id, " in this view: ", event.view);
});
layerview-destroyinherited

在图层的 LayerView 被销毁且不再在视图中渲染后触发。

属性:
view View

layerView 被销毁的视图。

layerView LayerView

表示图层的被破坏的 LayerView。

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.