WMSLayerInfo未定义-arcgis 4.13

问题描述 投票:0回答:1

伙计们,今天才刚开始使用arcgis,并尝试从geoserver添加wms图层。我正在使用javascript api v 4.13。

我从这个例子开始:

https://developers.arcgis.com/javascript/latest/sample-code/layers-wms/live/index.html

然后按照以下步骤添加WMS层(我添加了// // TEST-START to END):

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta
      name="viewport"
      content="initial-scale=1,maximum-scale=1,user-scalable=no"
    />
    <title>WMSLayer - 4.13</title>

    <style>
      html,
      body,
      #viewDiv {
        padding: 0;
        margin: 0;
        height: 100%;
        width: 100%;
      }
    </style>

    <link
      rel="stylesheet"
      href="https://js.arcgis.com/4.13/esri/themes/light/main.css"
    />
    <script src="https://js.arcgis.com/4.13/"></script>

    <script>
      require([
        "esri/Map",
        "esri/views/SceneView",
        "esri/layers/WMSLayer",
        "esri/layers/WMSLayerInfo",
        "esri/geometry/Extent"
      ], function(Map, SceneView, WMSLayer, WMSLayerInfo, Extent) {
        var layer = new WMSLayer({
          url: "https://ows.terrestris.de/osm/service",
          sublayers: [
            {
              name: "OSM-WMS"
            }
          ]
        });

        var map = new Map({
          basemap: {
            baseLayers: [layer]
          }
        });

        var view = new SceneView({
          container: "viewDiv",
          map: map
        });

        // TEST - START
    var layer1 = new WMSLayerInfo({
        name: 'sf:test1',
        title: 'sf:test1'
    });

    var resourceInfo = {
        extent: new Extent(3, 4, 5, 6, {
        wkid: 2236
    }),
        layerInfos: [layer1]
    };

    var wmsLayer = new WMSLayer('https://myserver/geoserver/sf/wms', {
        resourceInfo: resourceInfo,
        visibleLayers: ['sf:test1']
    });

    map.addLayers([wmsLayer]);

    // TEST - END



      });
      /***********************************
       * Data attribution:
       *  OpenStreetMap WMS by terrestris GmbH and Co. KG. Following sources were used:
       *  (c) OpenStreetMap contributors (http://www.openstreetmap.org/copyright)
       *  (c) OpenStreetMap Data (http://openstreetmapdata.com)
       *  (c) Natural Earth Data (http://www.naturalearthdata.com)
       *  (c) ASTER GDEM 30m (https://asterweb.jpl.nasa.gov/gdem.asp)
       *  (c) SRTM 450m by ViewfinderPanoramas (http://viewfinderpanoramas.org/)
       *  (c) Great Lakes Bathymetry by NGDC (http://www.ngdc.noaa.gov/mgg/greatlakes/)
       *  (c) SRTM 30m by NASA EOSDIS Land Processes Distributed Active Archive Center (LP DAAC, https://lpdaac.usgs.gov/)
       *********************************/
    </script>
  </head>
  <body>
    <div id="viewDiv"></div>
  </body>
</html>

我收到错误“未定义WMSLayerInfo”。我知道它可能非常基础,但是我无法在线找到答案。先谢谢你。

arcgis arcgis-js-api arcgis-runtime
1个回答
0
投票

在您的require语句中,您正在尝试加载"esri/layers/WMSLayerInfo"模块Arcgis Javascript API v4.x中不存在的模块]

只需将其从要加载的模块列表中删除。

require([
        "esri/Map",
        "esri/views/SceneView",
        "esri/layers/WMSLayer",
        "esri/geometry/Extent"
      ], function(Map, SceneView, WMSLayer, Extent) {

})

不要忘记在代码中删除对WMSLayerInfo的任何引用。

© www.soinside.com 2019 - 2024. All rights reserved.