当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS Layer.fromArcGISServerUrl用法及代码示例


基本信息

以下是所在类或对象的基本信息。

AMD: require(["esri/layers/Layer"], (Layer) => { /* code goes here */ });

ESM: import Layer from "@arcgis/core/layers/Layer";

类: esri/layers/Layer

继承: Layer > Accessor

子类: BaseDynamicLayer , BaseElevationLayer , BaseTileLayer , BuildingSceneLayer , CSVLayer , ElevationLayer , FeatureLayer , GeoJSONLayer , GeoRSSLayer , GraphicsLayer , GroupLayer , ImageryLayer , ImageryTileLayer , IntegratedMeshLayer , KMLLayer , MapImageLayer , MapNotesLayer , OGCFeatureLayer , PointCloudLayer , RouteLayer , SceneLayer , StreamLayer , SubtypeGroupLayer , TileLayer , UnknownLayer , UnsupportedLayer , VectorTileLayer , VoxelLayer , WCSLayer , WFSLayer , WMSLayer , WMTSLayer , WebTileLayer

自从:用于 JavaScript 4.0 的 ArcGIS API

用法说明

Layer.fromArcGISServerUrl函数(或属性)的定义如下:

fromArcGISServerUrl (params) {Promise<Layer>} static


从 ArcGIS 服务器 URL 创建一个新图层实例。根据 URL,返回的图层类型可能是: FeatureLayer, TileLayer, MapImageLayer, ImageryLayer, ImageryTileLayer, SceneLayer, StreamLayer, IntegratedMeshLayer, PointCloudLayer, BuildingSceneLayer, ElevationLayer or GroupLayer.

这在您使用各种 ArcGIS 服务器 URL 时很有用,但您不一定知道它们创建的图层类型。此方法为您创建适当的图层类型。对于要素服务或场景服务,当 URL 指向服务并且服务具有多个图层时,返回的承诺将解析为 GroupLayer

从版本 4.17 开始,可以从托管要素服务加载表。这仅适用于 feature layers ,如果 FeatureLayer.isTable 返回 true 将成功加载。

下表详细说明了加载特定 URL 类型时返回的内容。

URL 返回
具有一层的要素服务 FeatureLayer 其中 isTable 返回 false
一桌特色服务 FeatureLayer 其中 isTable 返回 true
具有多个层/表的要素服务 GroupLayer 带有图层和表格。
类型不是 "Feature Layer" 的图层将被丢弃,例如公共设施网络图层 不适用

参数:

规格:
类型说明
params Object

用于创建图层的输入参数。

规格:
url

String

用于创建图层的ArcGIS 服务器 URL。

properties

Object

可选的

在此处设置任何层的属性以构建层实例(例如 popupTemplate、渲染器等)。

返回:

类型 说明
Promise<Layer> 返回一个解析为新的 Layer 实例的 Promise。

例子:

// This snippet shows how to add a feature layer from an ArcGIS Server URL
// Get an ArcGIS Server URL from a custom function
const arcgisUrl = getLayerUrl();

Layer.fromArcGISServerUrl({
  url: arcgisUrl,
  properties: {
    // set any layer properties here
    popupTemplate: new PopupTemplate()
  }
}).then(function(layer){
  // add the layer to the map
  map.add(layer);
});
// This snippet shows how to add a table from an ArcGIS Server URL
// Get an ArcGIS Server URL from a custom function
const arcgisUrl = getLayerUrl();

Layer.fromArcGISServerUrl({
  url: arcgisUrl
}).then(function(layer){
  // Load the table before it can be used
  layer.load().then(function() {
    // Check that it is the right type
    if (layer.isTable) {
      // Add table to map's tables collection
      map.tables.add(layer);
    }
  });
});

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 Layer.fromArcGISServerUrl。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。