ArcGIS for JS 实现地图卷帘效果(2025最新)
地图卷帘效果是一种常见的空间数据对比技术,允许用户通过滑动控件直观比较两个图层。ArcGIS API for JavaScript 提供了灵活的模块化方案,以下为2025年最新实现方法。
核心模块依赖
实现卷帘效果需引入以下模块:
require([
"esri/Map",
"esri/views/MapView",
"esri/layers/MapImageLayer",
"esri/widgets/Swipe"
], (Map, MapView, MapImageLayer, Swipe) => { /* 代码逻辑 */ });
数据层准备
创建两个对比的地图图层,建议使用动态服务保证性能:
const baseLayer = new MapImageLayer({
url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"
});
const compareLayer = new MapImageLayer({
url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"
});
地图视图配置
初始化地图视图时需设置空间参考和容器尺寸:
const map = new Map({
layers: [baseLayer, compareLayer]
});
const view = new MapView({
container: "viewDiv",
map: map,
center: [116.4, 39.9], // 北京坐标
zoom: 8,
spatialReference: { wkid: 3857 } // Web墨卡托投影
});
卷帘控件实现
使用Swipe控件时需注意2025 API的更新特性:
const swipe = new Swipe({
view: view,
### ArcGIS for JS 实现地图卷帘效果(2025最新)
地图卷帘效果是一种常见的空间数据对比技术,允许用户通过滑动控件直观比较两个图层。ArcGIS API for JavaScript 提供了灵活的模块化方案,以下为2025年最新实现方法。
---
### 核心模块依赖
实现卷帘效果需引入以下模块:
```javascript
require([
"esri/Map",
"esri/views/MapView",
"esri/layers/MapImageLayer",
"esri/widgets/Swipe"
], (Map, MapView, MapImageLayer, Swipe) => { /* 代码逻辑 */ });
数据层准备
创建两个对比的地图图层,建议使用动态服务保证性能:
const baseLayer = new MapImageLayer({
url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"
});
const compareLayer = new MapImageLayer({
url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"
});
地图视图配置
初始化地图视图时需设置空间参考和容器尺寸:
const map = new Map({
layers: [baseLayer, compareLayer]
});
const view = new MapView({
container: "viewDiv",
map: map,
center: [116.4, 39.9], // 北京坐标
zoom: 8,
spatialReference: { wkid: 3857 } // Web墨卡托投影
});
卷帘控件实现
使用Swipe控件时需注意2025 API的更新特性:
const swipe = new Swipe({
view: view,
773

被折叠的 条评论
为什么被折叠?



