在 ArcGIS JavaScript API 中,可以使用 BasemapGallery 或 BasemapToggle 小部件来切换底图。

使用 BasemapGallery 小部件:

  1. 导入 BasemapGallery 模块:
require([
  "esri/widgets/BasemapGallery"
], function(BasemapGallery) {
  // 代码放在这里
});
  1. 创建 BasemapGallery 实例,并将其添加到地图视图中:
var basemapGallery = new BasemapGallery({
  view: view
});
view.ui.add(basemapGallery, "top-right");
  1. 监听 BasemapGallery 的 load 事件,以便在加载完底图库后执行操作:
basemapGallery.on("load", function() {
  // 代码放在这里
});
  1. 使用 get 方法获取 BasemapGallery 中的所有底图,并将其添加到下拉菜单或其他 UI 元素中:
var basemaps = basemapGallery.get("items");
basemaps.forEach(function(basemap) {
  // 将 basemap 添加到 UI 元素中
});
  1. 在 UI 元素的 change 事件处理程序中,根据所选底图的 id 或索引来更改地图的底图:
uiElement.addEventListener("change", function(event) {
  var selectedBasemapId = event.target.value;
  // 切换地图的底图
  view.map.basemap = selectedBasemapId;
});

使用 BasemapToggle 小部件:

  1. 导入 BasemapToggle 模块:
require([
  "esri/widgets/BasemapToggle"
], function(BasemapToggle) {
  // 代码放在这里
});
  1. 创建 BasemapToggle 实例,并将其添加到地图视图中:
var basemapToggle = new BasemapToggle({
  view: view,
  nextBasemap: "topo" // 下一个底图的 id
});
view.ui.add(basemapToggle, "top-right");
  1. BasemapToggle 小部件已经处理了底图切换的逻辑,无需编写额外的代码。

以上是使用 ArcGIS JavaScript API 切换底图的两种常用方法。

ArcGIS JS 切换底图:BasemapGallery 和 BasemapToggle 小部件

原文地址: https://www.cveoy.top/t/topic/p4Wh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录