• Arcgisapi for js底图切换


    Arcgisapi for js中提供了一个BasemapToggle专门用于底图的切换。

      mounted() {
        loadArcgisApiForJs().then((esriModules) => {//esriload加载Arcgisapi for js模块
          this.esriModules = esriModules;
          const sr = new esriModules.SpatialReference({
            wkid: 4490,
          });
          let baseMapLayers = getAllBasemap(sr, esriModules);//这里用自己封装的方法获取多个图层,baseMapLayers 是一个[layer1,layer2]
          for (var i = 0; i < baseMapLayers.length; i++) {//将baseMapLayers 中的每个图层都变成底图对象
            let baseMap = new esriModules.Basemap({
              baseLayers: [baseMapLayers[i]],
            });
            this.basemaps.push(baseMap);//将每个底图对象加入全局变量,this.basemaps是一个[]
          }

          this.map = new esriModules.Map({//默认使用第一个底图初始化底图
            basemap: this.basemaps[0],
          });

          this.view = new esriModules.MapView({
            container: "viewDiv",
            map: this.map,
            spatialReference: sr,
            extent: new esriModules.Extent({
              xmin: 101.79241868891418,
              ymin: 27.240765199664125,
              xmax: 113.4962209222683,
              ymax: 33.00213057473296,
              spatialReference: sr,
            }),
          });
          this.basemapToggle = new esriModules.BasemapToggle({//用上面的view生产BasemapToggle对象
            view: this.view,
          });
        });
      },
    切换底图的方法:
     changeBasemap(index) {//index为切换的目的图层在全局变量this.basemaps中的index
          this.basemapToggle.nextBasemap = this.basemaps[index];
          this.basemapToggle.toggle();
        },
  • 相关阅读:
    HDU-1240 Asteroids! (BFS)这里是一个三维空间,用一个6*3二维数组储存6个不同方向
    HDU-1026 Ignatius and the Princess I(BFS) 带路径的广搜
    HDU-1700 Points on Cycle
    HDU-4515 小Q系列故事——世界上最遥远的距离
    Star
    HDOJ5441(图论中的并查集)
    HDOJ5438(图的各个连通分量遍历)
    HDOJ5044(最近公共祖先)
    C++输入输出知识
    JAVAmap容器基本使用
  • 原文地址:https://www.cnblogs.com/maycpou/p/14812283.html
Copyright © 2020-2023  润新知