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


JavaScript ArcGIS TileLayer用法及代码示例


基本信息

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

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

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

类: esri/layers/TileLayer

继承: TileLayer > Layer > Accessor

自从:用于 JavaScript 4.0 的 ArcGIS API

用法说明

TileLayer 允许您使用由 ArcGIS 服务器 REST API 公开的缓存 map service,并将其作为切片图层添加到 Map。缓存服务从缓存访问切片,而不是动态渲染图像。因为它们是缓存的,所以切片图层的渲染速度比 MapImageLayers 快。要创建 TileLayer 实例,您必须引用缓存Map服务的 URL。

require(["esri/layers/TileLayer"], function(TileLayer) {
  let layer = new TileLayer({
    url: "https://services.arcgisonline.com/arcgis/rest/services/World_Terrain_Base/MapServer"
  });
  // Add layer to map
});

如果从不同的域请求图像,则需要 CORS enabled serverproxy

要将非缓存Map服务显示为动态图层,请参阅MapImageLayer

已知限制

将 TileLayer 添加到 SceneView 中的Map时,存在以下限制:

  • 此层需要从 ArcGIS Server 10.3 及更高版本或 ArcGIS Server 10.2.2 和 this applied fix 发布。
  • 如果 viewingModeglobal ,则仅支持具有 ArcGIS Online/Bing Maps/Google Maps (Web Mercator)、WGS84 地理坐标系或 CGCS200,版本 2 切片方案的服务。
  • 如果 viewingModelocal ,则仅支持具有投影坐标系的服务。
  • 通过 API 添加图层时:只有当Map中的所有其他 TileLayers 具有相同的切片大小时,才能添加栅格 TileLayersVectorTileLayers可以适应512或256个瓦片,空Map默认选择256个。
  • 如果TileLayer 是第一个添加的图层,则图层的切片方案将锁定视图,并且切片方案之外的任何要素都不会显示。

仅支持具有以下切片方案规范的切片图层:

  • 256x256 或 512x512 像素图块
  • 比例级别必须增加或减少 2 的幂
  • 0 级别,根块不应超过 30 个。
  • 所有切片图层必须具有相同的切片方案和 SpatialReference

Esri 要求当您在应用程序中使用 ArcGIS 在线底图时,该Map必须包含 Esri 署名,并且您必须获得使用该内容的许可。有关使用归因的详细指南,请访问官方 attribution in your app 文档。有关使用条款的信息,请参阅Terms of Use FAQ

相关用法


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