我是一个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>
答案 0 :(得分:2)
我设法回答了我自己的问题,在我的require语句中,我正在请求ArcGISMapServiceLayer,然后为ArcGISDynamicMapServiceLayer声明我的函数变量。解决了这个问题,并在他们之间切换的后续步骤中向前迈进。
关于如何在未来调试此类内容的任何想法?