SceneModifications

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

具有多边形和类型的 SceneModification 集合以应用客户端修改。SceneModifications 可以应用于 IntegratedMeshLayer.modifications 属性。

IntegratedMeshLayer 的修改 需要与 IntegratedMeshLayer 位于相同的空间参考中。WGS84 和 WebMercator 之间的重投影将自动完成。可以使用客户端投影引擎将几何图形重新投影到其他空间参考。

另请参阅:

构造函数

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

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

属性概述

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

类的名称。

更多信息Accessor
整数更多信息

集合中的项数。

更多信息Collection

属性详情

declaredClass Stringreadonly inherited

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

集合中的项数。

方法概述

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

将单个项添加到集合中。

更多信息Collection
更多信息

将多个项添加到集合中。

更多信息Collection
*更多信息

返回指定索引处的项,允许使用正整数和负整数。

更多信息Collection
SceneModifications更多信息

创建此对象的克隆。

更多信息SceneModifications
Collection更多信息

创建一个新集合,其中包含原始集合中的项与输入数组或集合中的项联接。

更多信息Collection
布尔值更多信息

在实例上发出事件。

更多信息Collection
布尔值更多信息

确定集合中的所有项目是否通过 callback 定义的测试。

更多信息Collection
Collection更多信息

根据 callback 函数定义的测试过滤集合的项目。

更多信息Collection
*更多信息

如果该项目通过 callback 函数中定义的测试,则返回集合的项目。

更多信息Collection
整数更多信息

如果该项目通过 callback 函数中定义的测试,则返回集合中项目的索引。

更多信息Collection
Collection更多信息

展平包含至少一个子集合的分层集合。

更多信息Collection
更多信息

对集合中的每个项执行输入函数。

更多信息Collection
*更多信息

创建此类的新实例,并使用从 GeoScene 产品生成的 JSON 对象中的值对其进行初始化。

更多信息SceneModifications
*更多信息

返回指定索引处的项。

更多信息Collection
布尔值更多信息

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

更多信息Collection
布尔值更多信息

测试新集合中是否存在项。

更多信息Collection
整数更多信息

返回集合中元素的索引。

更多信息Collection
String更多信息

创建集合中项的字符串表示形式。

更多信息Collection
整数更多信息

回集合中元素的最后一个索引。

更多信息Collection
Collection更多信息

将每个集合项传递给 callback 函数并返回一个新的返回值数组。

更多信息Collection
Object更多信息

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

更多信息Collection
*更多信息

从集合中删除最后一项并将其返回。

更多信息Collection
整数更多信息

将项添加到集合的末尾。

更多信息Collection
*更多信息

使用 callback 将集合中的所有项目(从左到右)减少为单个变量。

更多信息Collection
*更多信息

使用 callback 将集合中的所有项目(从右到左)减少为单个变量。

更多信息Collection
更多信息

从集合中删除项。

更多信息Collection
更多信息

从集合中删除所有项。

更多信息Collection
*更多信息

从集合中指定索引处的项。

更多信息Collection
*更多信息

从集合中指定索引处的项。

更多信息Collection
*更多信息

将集合中的项移动到指定的索引。

更多信息Collection
Collection更多信息

就地反转集合。

更多信息Collection
*更多信息

从集合中删除第一项(索引 0 处),并返回该项。

更多信息Collection
Collection更多信息

创建由原始集合的一部分组成的新集合。

更多信息Collection
布尔值更多信息

确定集合中的项目是否通过 callback 定义的测试。

更多信息Collection
更多信息

对集合进行就地排序。

更多信息Collection
Array更多信息

删除现有项目和/或将新项目添加到集合中。

更多信息Collection
Array更多信息

返回一个新的数组对象,其中包含集合的项。

更多信息Collection
Object更多信息

将此类的实例转换为其 GeoScene portal JSON 表示形式。

更多信息SceneModifications
整数更多信息

将一个或多个项添加到集合的开头。

更多信息Collection

方法详情

add(item, index)inherited

将单个项添加到集合中。将项添加到集合后,将触发更改事件

参数:
item *

要添加的项。

index Number
可选

集合中要添加项目的位置的从零开始的索引。如果未指定,项目将添加到最后。

示例:
let gpc = new Graphic();  // Creates a new graphic
let layer = new GraphicsLayer(); // Creates a new graphics layer
layer.graphics.add(gpc);  // Adds graphic to layer's graphics collection
addMany(items, index)inherited

将多个项添加到集合中。将项添加到集合后,将触发更改事件

参数:

要添加的项目的数组或集合。

index Number
可选

集合中要添加项目的位置的从零开始的索引。如果未指定,项目将添加到最后。

示例:
// Creates two new graphics
let gpc1 = new Graphic();
let gpc2 = new Graphic();

let layer = new GraphicsLayer(); // Creates a new graphics layer

// Adds both graphics to layer's graphics collection
layer.graphics.addMany([gpc1, gpc2]);
at(index){*}inherited
起始版本:GeoScene API for JavaScript 4.23

返回指定索引处的项,允许使用正整数和负整数。负整数从数组中的最后一项开始倒数。

参数:
index Number

要检索的集合中项目的索引。它可以是集合末尾的相对索引。

返回:
类型 说明
* 集合中的项目存储在指定索引处。
另请参阅:
示例:
// get the layer at the first position
let firstLayer = map.layers.at(0);
// get the layer at the last position
let lastLayer = map.layers.at(-1);

创建此对象的克隆。

返回:
类型 说明
SceneModifications 调用此方法 SceneModifications 实例的克隆。
concat(value){Collection}inherited

创建一个新集合,其中包含原始集合中的项与输入数组或集合中的项联接。

参数:

要追加到现有集合的数组或集合。

返回:
类型 说明
Collection 一个新的集合,由集合中调用此方法的项与输入项组成。
另请参阅:
示例:
// creating a collection of all the basemap's layers.
let basemap = map.basemap;
let basemapLayers = basemap.baseLayers.concat(basemap.referenceLayers);
emit(type, event){Boolean}inherited

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

参数:
type String

事件的名称。

event Object
可选

事件负载。

返回:
类型 说明
布尔值 true 如果通知了侦听器
every(callback){Boolean}inherited

确定集合中的所有项目是否通过 callback 定义的测试。集合中的每一项都被传递到回调中,直到返回 false 值。

参数:

为集合中的每个项目调用的函数。

返回:
类型 说明
布尔值 如果对 callback 的每次调用都返回 true,则返回 true。如果至少一个 callback 调用返回 false ,则返回 false
另请参阅:
示例:
let meetsStandardSize = graphicsLayer.graphics.every(function(item, i){
  // Tests each geometry's area to see if it is greater than 1,000 acres
  return calculateArea(item.geometry) > 1000;
});
filter(callback){Collection}inherited

根据 callback 函数定义的测试过滤集合的项目。每个项目都被传递到 callback 函数中,如果项目通过测试,则返回 true,否则返回 false

参数:

定义用于确定是否在新集合中返回项目的测试的函数。

返回:
类型 说明
Collection 返回包含通过过滤器测试的项目的新集合。
另请参阅:
示例:
// filteredLayers is a Collection of all the non-visible layers in the map
let filteredLayers = map.layers.filter(function(layer){
  return !layer.visible;
});
find(callback){*}inherited

如果该项目通过 callback 函数中定义的测试,则返回集合中的项目。每个项目都被传递到 callback 函数中,如果项目通过测试,则返回 true,否则返回 false

参数:

将评估集合中每个项目的测试函数。如果项目通过测试,则返回 true,如果失败,则返回 false

返回:
类型 说明
* 集合中满足测试功能的第一个项目。
另请参阅:
示例:
// If the id of a map layer is already known, get the layer that matches the id
let myLayer = map.layers.find(function(layer){
  return layer.id === "speciesLyr01";
});
// myLayer references the layer in map with ID "speciesLyr01"
findIndex(callback){Number}inherited

如果该项目通过 callback 函数中定义的测试,则返回集合中项目的索引。每个项目都被传递到 callback 函数中,如果项目通过测试,则返回 true,否则返回 false

参数:

将评估集合中每个项目的测试函数。如果项目通过测试,则返回 true,如果失败,则返回 false

返回:
类型 说明
整数 返回满足测试函数的集合项的索引。如果项目未通过测试,则返回 -1
另请参阅:
示例:
// gpcIndex is assigned the index of the first graphic whose name
// property is 'Redlands'. This result can be used in getItemAt()
let gpcIndex = graphicsLyr.graphics.findIndex(function(item){
  return item.attributes.name === "Redlands";
});
flatten(callback){Collection}inherited

展平包含至少一个子集合的分层集合。集合中的每个项目都传递给 callback 函数,该函数应检查开发人员指定的子集合。返回所有项目(父项和子项)的平面集合。

这对于用户想要搜索地图中的所有图层(包括 GroupLayer 的图层MapImageLayer 的子图层)的场景很有用。回调应返回项的子集合。如果层次结构中存在多个级别的集合,则此方法将以递归方式对所有子集合执行。

参数:
callback ItemCallback

将评估集合中的每个项的函数。

返回:
类型 说明
Collection 返回原始集合中所有项及其子项的平面集合。
示例:
// create a MapImageLayer with several sublayers and add to a map
// containing another GraphicsLayer
let layer = new MapImageLayer({ sublayers: [ ... ] });
let map = new Map({
  layers: [ layer, new GraphicsLayer() ]
});

// A flat collection of all layers and sublayers
// (if layer is a MapImageLayer) in the map.
// This collection may be searched or used for other purposes
let allLayersAndSublayers = map.layers.flatten(function(item){
  return item.layers || item.sublayers;
});
forEach(callback)inherited

对集合中的每个项执行输入函数。

参数:
callback ItemCallback

为集合中的每个项目调用的函数。

另请参阅:
示例:
graphicsLayer.graphics.forEach(function(item, i){
  // Do something here to each graphic like calculate area of its geometry
  calculateArea(item.geometry);
});
fromJSON(json){*}static

创建此类的新实例,并使用从 GeoScene 产品生成的 JSON 对象中的值对其进行初始化。传递到输入 json 参数的对象通常来自对 REST API 中的查询操作的响应或来自另一个 GeoScene 产品的 toJSON() 方法。请参阅指南中的 fromJSON() 主题,了解有关何时以及如何使用此功能的详细信息和示例。

参数:
json Object

GeoScene 格式的实例的 JSON 表示形式。有关各种输入 JSON 对象的结构示例,请参阅 GeoScene REST API 文档

返回:
类型 说明
* 返回此类的新实例。
getItemAt(index){*}inherited

返回指定索引处的项。

参数:
index Number

要检索的集合中项目的从零开始的索引。

返回:
类型 说明
* 集合中的项目存储在指定索引处。
示例:
// Assigns the base layer at index 0 to baseLayer
let baseLayer = map.basemap.baseLayers.getItemAt(0);
hasEventListener(type){Boolean}inherited

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

参数:
type String

事件的名称。

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

测试新集合中是否存在项。

参数:
searchElement *

要在集合中搜索的项目。

返回:
类型 说明
布尔值 true 如果该项目在集合中。
另请参阅:
示例:
// check if a layer is in the map's operational layers.
if (view.map.layers.includes(myLayer)) {
  // ...
}
indexOf(searchElement, fromIndex){Number}inherited

返回集合中元素的索引。

参数:
searchElement *

要在集合中搜索的项目。

fromIndex Number
可选

如果您不想搜索整个集合或不想从头开始搜索,请使用。

返回:
类型 说明
整数 在集合中找到的第一个匹配项的位置,如果没有匹配项,则为 -1。
另请参阅:
示例:
// index is the index of the first graphic in the
// graphics layer that matches the input graphic
let index = graphicsLayer.graphics.indexOf(graphic);
join(separator){String}inherited

创建集合中项的字符串表示形式。

参数:
separator String
可选
默认值:,

最终字符串中每个项目之间使用的分隔符。

返回:
类型 说明
字符串 项目的字符串表示形式。
另请参阅:
示例:
let stringCollection = new Collection(["how", "are", "you", "doing?"]);
let phrase = stringCollection.join(" ");

// Prints "how are you doing?"
console.log(phrase);
lastIndexOf(searchElement, fromIndex){Number}inherited

回集合中元素的最后一个索引。

参数:
searchElement *

要在集合中搜索的项目。

fromIndex Number
可选

如果您不想搜索整个集合,或者不想从末尾搜索,请使用。

返回:
类型 说明
整数 在集合中找到的最后一个匹配项的位置,如果没有匹配项,则为 -1。
另请参阅:
示例:
// index is the index of the first graphic in the
// graphics layer that matches the input graphic
let index = graphicsLayer.graphics.lastIndexOf(graphic);
map(callback){Collection}inherited

将每个集合项传递给 callback 函数并返回一个新的返回值数组。例如,如果您有一个数字集合,并且希望将每个数字加 10,则可以使用 map() 创建一个新集合,其中相同的数字增加 10。

参数:

处理集合中的每个项目并在原始项目的相同索引处返回新值的函数。

返回:
类型 说明
Collection 返回一个新集合,其中包含从 callback 生成的新项目。
另请参阅:
示例:
// Gets the geometries of the graphics and assigns them to a new Collection
let geoms = graphicsLayer.graphics.map(function(item, i){
  return item.geometry;
});
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);
});
pop(){*}inherited

从集合中删除最后一项并将其返回。

返回:
类型 说明
* 集合中的最后一项。
另请参阅:
示例:
// Removes the last layer in the map and stores it in lastLayer
let lastLayer = map.layers.pop();
push(item){Number}inherited

将项添加到集合的末尾。

参数:
item *

要添加到集合末尾的项目或以逗号分隔的项目列表。

返回:
类型 说明
整数 集合的新长度。
另请参阅:
示例:
// Adds a new graphic to the end of the graphics collection on a GraphicsLayer
graphicsLyr.graphics.push(newGraphic);
// Adds three new graphics to the end of the GraphicsLayer's graphics collection
graphicsLyr.graphics.push(g1, g2, g3);
reduce(callback){*}inherited

使用 callback 将集合中的所有项目(从左到右)减少为单个变量。

参数:

处理集合中的每个项目并将其附加到前一个项目的函数。

返回:
类型 说明
* 返回表示集合项目减少的值。
另请参阅:
reduceRight(callback, initialValue){*}inherited

使用 callback 将集合中的所有项目(从右到左)减少为单个变量。

参数:

处理集合中的每个项目并将其附加到前一个项目的函数。

initialValue *
可选

用作在 callback 中处理的第一个元素的项目。

返回:
类型 说明
* 返回表示集合项目减少的值。
另请参阅:
remove(item)inherited

从集合中删除项。从集合中删除项目后会触发更改事件

参数:
item *

要移除的项。

示例:
let layer = map.layers.getItemAt(4);
// Removes the fifth layer from the map
map.layers.remove(layer);
removeAll()inherited

从集合中删除所有项。

示例:
// Removes all layers from the map
map.layers.removeAll();
removeAt(index){*}inherited

从集合中指定索引处的项。从集合中删除项目后会触发更改事件t

参数:
index Number

要删除的项目的索引..

返回:
类型 说明
* 如果集合中存在,则删除的项目,否则undefined
示例:
// Removes the layer at index 4 of the map
map.layers.removeAt(4);
removeMany(items){*}inherited

从集合中指定索引处的项。如果一个项目在集合中多次出现,则仅删除第一次出现。从集合中删除项目后会触发更改事件t

参数:

要删除的项目。

返回:
类型 说明
* 集合中存在的已删除项目。
示例:
let refLayers = [refLyr1, refLyr2, refLyr3];
// Removes three reference layers in the refLayers
// collection from the basemap's referenceLayers
map.basemap.referenceLayers.removeMany(refLayers);
reorder(item, index){*}inherited

将集合中的项移动到指定的索引。从集合中移动项目后会触发更改事件

参数:
item *

要移动的项。

index Number

要将项目移动到的索引。

返回:
类型 说明
* 被移动的项目。如果 item 不在集合中,则undefined
示例:
// Get the first two layers in a map
let layer1 = map.layers.getItemAt(0);
let layer2 = map.layers.getItemAt(1);

// Moves the second layer to the first position in the map.layers Collection
// effectively swapping the positions of layer1 and layer2
map.layers.reorder(layer2, 0);

就地反转集合。

返回:
类型 说明
Collection 反向集合。
另请参阅:
示例:
// Reverse layers from the map
map.layers.reverse();
shift(){*}inherited

从集合中删除第一项(索引 0 处),并返回该项。然后集合的其余项目从它们之前的位置向下移动一个索引。

返回:
类型 说明
* 集合中的第一项。
另请参阅:
示例:
// Removes the first layer in the map and stores it in firstLyr
let firstLyr = map.layers.shift();
slice(begin, end){Collection}inherited

创建由原始集合的一部分组成的新集合。

参数:
begin Number
可选

要提取的第一项的索引。

end Number
可选

要提取的最后一项的索引。

返回:
类型 说明
Collection 返回包含指定范围内项目的新集合。
另请参阅:
示例:
// get the graphics from index 50 to 100;
let selection = graphicsLayer.graphics.slice(50, 100);
some(callback){Boolean}inherited

确定集合中的项目是否通过 callback 定义的测试。集合中的每一项都被传递到回调中,直到返回 true 值。

参数:
callback ItemCallback

为每个集合项定义测试的函数。

返回:
类型 说明
布尔值 如果集合中的任何项目通过 callback 中定义的测试,则返回 true。如果所有项目都未通过测试,则返回 false
另请参阅:
示例:
// If at least one of the point graphics has a geometry whose
// elevation is above 1000m, then passes will have a value of true.
// Otherwise, it will be false.
let passes = graphicsLayer.graphics.some(function(item, i){
  return item.geometry.z > 1000;
});
sort(compareFunction)inherited

对集合进行就地排序。

参数:
compareFunction ItemCompareCallback
可选

定义集合中两个项目的比较的函数。

另请参阅:
示例:
// Sort graphics based on their elevation or z-value
let sortedGraphics = graphicsLayer.graphics.sort(function(a, b){
  if(a.geometry.z > b.geometry.z){
    return 1;
  }
  else if (a.geometry.z < b.geometry.z){
    return -1;
  }
  else {
    return 0;
  }
});
splice(start, deleteCount, items){Array}inherited

删除现有项目和/或将新项目添加到集合中。

参数:
start Number

开始更改集合的索引。

deleteCount Number

指示要删除的集合项的数量。如果使用 0,则不会删除任何元素,并且应在 items 参数中添加至少一个新项目。

items *

要添加到集合中的项目或以逗号分隔的项目列表。

返回:
类型 说明
Array 已删除项目的数组,以前是集合的一部分。
另请参阅:
示例:
// map.layers is a collection of 6 layers
// Adds a seventh layer to the map at index 3
map.layers.splice(3, 0, layer7);
// Removes two layers starting from index 2 and adds the
// specified layers in the positions of the former layers
let oldLayers = map.layers.splice(2, 2, layer8, layer9, layer10);

// oldLayers = [layer2, layer3]
toArray(){Array}inherited

返回一个新的数组对象,其中包含集合的项。

返回:
类型 说明
Array 包含集合项的数组。
示例:
// Creates an array populated with the map's layers
let mapLayersArray = map.layers.toArray();
toJSON(){Object}

将此类的实例转换为其 GeoScene portal JSON 表示形式。有关更多信息,请参阅 使用 fromJSON()主题。

返回:
类型 说明
Object 此类示例的 GeoScene portal JSON 表现形式。
unshift(items){Number}inherited

将一个或多个项添加到集合的开头。

参数:
items *

要添加到集合开头的项目。

返回:
类型 说明
整数 集合的新长度。
另请参阅:
示例:
// If a map's basemap has 3 baseLayers: baseLyr0, baseLyr1, baseLyr2
map.basemap.baseLayers.unshift(baseLyr3);

// Now the baseLayers collection is: baseLyr3, baseLyr0, baseLyr1, baseLyr2

事件概述

隐藏继承事件 显示继承事件
名称 类型 描述
{item: *}
更多信息

在将项添加到集合后激发。

更多信息 Collection
更多信息

在添加、重新排序或从集合中删除项目后触发。

更多信息 Collection
{item: *}
更多信息

从集合中删除项目后激发。

更多信息 Collection
{cancellable: Boolean,defaultPrevented: Boolean,item: *,preventDefault: Function}
更多信息

在将项添加到集合之前激发。

更多信息 Collection
{cancellable: Boolean,defaultPrevented: Boolean,item: *,preventDefault: Function}
更多信息

在对集合执行任何修改之前触发。

更多信息 Collection
{cancellable: Boolean,defaultPrevented: Boolean,item: *,preventDefault: Function}
更多信息

在从集合中删除项目之前触发。

更多信息 Collection
{added: Array,moved: Array,removed: Array}
更多信息

在集合中添加重新排序或从集合中删除项目后触发。

更多信息 Collection

事件详述

after-addinherited

在将项添加到集合后激发。

属性:
item *

添加到集合中的项目。

示例:
// indicates a layer has been added to the map
map.layers.on("after-add", function(event){
  console.log(event.item, " has been added to the map.");
});
after-changesinherited

在添加、重新排序或从集合中删除项目后触发。

示例:
map.layers.on("after-changes", function(event){
  console.log(event, " layer was added/removed from the map.");
});
after-removeinherited

从集合中删除项目后激发。

属性:
item *

要从集合中移除的项目。

示例:
// indicates a layer has been removed from the map
map.layers.on("after-remove", function(event){
  console.log(event.item, " has been removed from the map.");
});
before-addinherited

在将项添加到集合之前激发。此事件可用于通过使用 event.preventDefault() 方法取消项目来防止将项目添加到集合中。

属性:
cancellable Boolean

指示是否可以取消更改事件。

defaultPrevented Boolean

指示此事件之前是否已被另一个事件处理程序取消。

item *

要添加到集合中的项目。

preventDefault Function

一种防止将项目添加到集合中的方法。

示例:
// prevents a layer from being added to the map more than once.
map.layers.on("before-add", function(event){
   if(map.layers.includes(event.item)){
     event.preventDefault();
     console.log("layer already exists in map.");
   }
});
before-changesinherited

在对集合执行任何修改之前触发。此事件可用于通过使用 event.preventDefault() 方法取消项目来防止从集合中添加或删除项目。

属性:
cancellable Boolean

指示是否可以取消更改事件。

defaultPrevented Boolean

指示此事件之前是否已被另一个事件处理程序取消。

item *

要从集合中添加或删除的项目。

preventDefault Function

一种防止从集合中添加或删除项目的方法。

示例:
map.layers.on("before-changes", function(event){
  // prevents layers from being added/removed from the map
  event.preventDefault();
});
before-removeinherited

在从集合中删除项目之前触发。此事件可用于通过使用 event.preventDefault() 方法取消项目来防止从集合中删除项目。

属性:
cancellable Boolean

指示是否可以取消更改事件。

defaultPrevented Boolean

指示此事件之前是否已被另一个事件处理程序取消。

item *

要从集合中移除的项目。

preventDefault Function

一种防止从集合中删除项目的方法。

示例:
// prevents a layer from being removed from the basemap
map.basemap.baseLayers.on("before-remove", function(event){
   if(map.basemap.baseLayers.includes(event.item)){
     event.preventDefault();
     console.log("layer cannot be removed from basemap.");
   }
});
changeinherited

在集合中添加、重新排序或从集合中删除项目后触发。使用影响集合类型属性的其他类的方法也会导致此事件触发,例如 Map.add()Map.remove()Map.reorder()

例如,使用 Map.add()map.layers 集合添加新图层的 map.layers.add(newLyr)map.add(newLyr) 将触发此事件。

更改事件可用于通知开发人员/用户对集合的更改。

属性:
added Array

使用 add()addMany() 添加到集合中的项目数组。

moved Array

使用 reorder() 在集合中移动的项目数组。

removed Array

使用 remove()removeMany()removeAt()removeAll() 从集合中删除的项目数组。

示例:
// This function will fire each time a layer is either added,
// moved, or removed from the map.layers Collection
map.layers.on("change", function(event){
  let newLayers = event.added; // An array of layers added to the map.layers Collection
  let reorderedLayers = event.moved;  // An array of layers moved in the Collection
  let removedLayers = event.removed;  // An array of layers removed from map
});

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