我是一个codeacademy,Javascript白痴,请帮忙。我想做的就是理解为什么下面的代码不起作用。它应该显示带有海洋保护区的海洋地图,但只显示海洋地图。Firebug 说 new 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>