显示多个图层,ArcGIS javascript api

时间:2014-04-16 06:00:48

标签: javascript dojo arcgis-js-api

我是一个codeacademy,Javascript白痴,请帮忙。我想要做的就是理解为什么下面的代码不起作用。它应显示海洋地图,海洋保护区位于其上方,但仅显示海洋地图。 Firebug说新的ArcGISDynamicLayer不是构造函数,但API ref说它是合适的构造函数。

我试图学习,所以会欣赏有关它如何解决方案的说明。 感谢

          

      <head>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
          <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
          <title></title>
          <style>
              html,
              body,
              #mapDiv {
                  padding: 0;
                  margin: 0;
                  height: 100%;
              }
          </style>
          <link rel="stylesheet" href="http://js.arcgis.com/3.9/js/esri/css/esri.css">
          <link rel="stylesheet" href="http://js.arcgis.com/3.9/js/dojo/dijit/themes/claro/claro.css">
          <link rel="stylesheet" type="text/css" href="css/viewer.css">
          <script type="text/javascript">
              var djConfig = {
                  parseOnLoad: true
              };
          </script>
          <script src="http://js.arcgis.com/3.9/"></script>
          <script>
              require(["esri/map",
                      "esri/layers/ArcGISMapServiceLayer"
                  ],
                  function (Map, ArcGISDynamicMapServiceLayer) {
                      map = new Map("mapDiv", {
                          center: [-56.049, 38.485],
                          zoom: 3,
                          basemap: "oceans"
                      });
                      var newLayer = new ArcGISDynamicMapServiceLayer("http://egisws02.nos.noaa.gov/ArcGIS/rest/services/MPA/MPA_Inventory/MapServer", {
                          "id": "mpa"
                      });
                      map.addLayer(newLayer);
                  });
          </script>
      </head>

      <body>

          <body class="claro">
              <div id="mapDiv"></div>
          </body>
      </body>

      </html>

1 个答案:

答案 0 :(得分:2)

我设法回答了我自己的问题,在我的require语句中,我正在请求ArcGISMapServiceLayer,然后为ArcGISDynamicMapServiceLayer声明我的函数变量。解决了这个问题,并在他们之间切换的后续步骤中向前迈进。

关于如何在未来调试此类内容的任何想法?