arcgis jsapi 4.31调用geoserver发布/{z}/{x}/{y}.png

之前的老项目用的arcgis jsapi 3.24开发的地图功能,现在由于更换了地图服务单位,需要更换底图服务,之前的底图服务是arcgis server 发布的,现在由于国产化要求,更改为开源软件geoserver发布服务了。碰到第一个问题就是地图的底图就调用不了 

底图的地址格式:http://IP:端口/mulu/{z}/{x}/{y}.png

费劲周折之后,终于调试好了,主要参考官方说明,两种用法:

第一种方法:使用通用的tile调用方式

       const TintLayer = BaseTileLayer.createSubclass({
          properties: {
            urlTemplate: null,
          },
          // Generate the tile url for a given level, row and column
          getTileUrl: function (level, row, col) {
            return this.urlTemplate
              .replace("{z}", level)
              .replace("{x}", col)
              .replace("{y}", row);
          },
        });

        // Create a new instance of the TintLayer and set its properties
        const openTopoMapTileLayer = new TintLayer({
          urlTemplate: "http://IP:端口/路径/{z}/{x}/{y}.png",
          title: "图层名称",
        });       

第二种方法:使用WebTileLayer

        const tiledLayer = new WebTileLayer({
          urlTemplate: "http://IP:端口/路径/{z}/{x}/{y}.png",
		  title: '图层名称'
        });

使用以上两种方式,解决了对/{z}/{x}/{y}.png格式的图层调用

参考地址:

ArcGIS Maps SDK for JavaScript | Overview | ArcGIS Maps SDK for JavaScript 4.32 | Esri Developer

你可能感兴趣的:(arcgis,geoserver)