ArcGIS JS 切换底图:BasemapGallery 和 BasemapToggle 小部件
在 ArcGIS JavaScript API 中,可以使用 BasemapGallery 或 BasemapToggle 小部件来切换底图。
使用 BasemapGallery 小部件:
- 导入 BasemapGallery 模块:
require([
"esri/widgets/BasemapGallery"
], function(BasemapGallery) {
// 代码放在这里
});
- 创建 BasemapGallery 实例,并将其添加到地图视图中:
var basemapGallery = new BasemapGallery({
view: view
});
view.ui.add(basemapGallery, "top-right");
- 监听 BasemapGallery 的 load 事件,以便在加载完底图库后执行操作:
basemapGallery.on("load", function() {
// 代码放在这里
});
- 使用 get 方法获取 BasemapGallery 中的所有底图,并将其添加到下拉菜单或其他 UI 元素中:
var basemaps = basemapGallery.get("items");
basemaps.forEach(function(basemap) {
// 将 basemap 添加到 UI 元素中
});
- 在 UI 元素的 change 事件处理程序中,根据所选底图的 id 或索引来更改地图的底图:
uiElement.addEventListener("change", function(event) {
var selectedBasemapId = event.target.value;
// 切换地图的底图
view.map.basemap = selectedBasemapId;
});
使用 BasemapToggle 小部件:
- 导入 BasemapToggle 模块:
require([
"esri/widgets/BasemapToggle"
], function(BasemapToggle) {
// 代码放在这里
});
- 创建 BasemapToggle 实例,并将其添加到地图视图中:
var basemapToggle = new BasemapToggle({
view: view,
nextBasemap: "topo" // 下一个底图的 id
});
view.ui.add(basemapToggle, "top-right");
- BasemapToggle 小部件已经处理了底图切换的逻辑,无需编写额外的代码。
以上是使用 ArcGIS JavaScript API 切换底图的两种常用方法。
原文地址: https://www.cveoy.top/t/topic/p4Wh 著作权归作者所有。请勿转载和采集!