前几天部署ArcGIS API for JS时出了点小问题,我照Install notes for the ArcGIS API for JavaScript™.html上给的步骤把文件放进了Tomcat的安装目录C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps下,然后用用“test the install”中的测试代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Simple Map</title>
<link rel="stylesheet" type="text/css" href="http://<myserver>/arcgis_js_api/library/3.20/3.20/dijit/themes/tundra/tundra.css"/>
<link rel="stylesheet" type="text/css" href="http://<myserver>/arcgis_js_api/library/3.20/3.20/esri/css/esri.css" />
<script type="text/javascript" src="http://<myserver>/arcgis_js_api/library/3.20/3.20/init.js"></script>
<script type="text/javascript">
dojo.require("esri.map");
function init() {
var myMap = new esri.Map("mapDiv");
//note that if you do not have public Internet access then you will need to point this url to your own locally accessible cached service.
var myTiledMapServiceLayer = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/NGS_Topo_US_2D/MapServer");
myMap.addLayer(myTiledMapServiceLayer);
}
dojo.addOnLoad(init);
</script>
</head>
<body class="tundra">
<div id="mapDiv" style="width:900px; height:600px; border:1px solid #000;"></div>
</body>
</html>
测试了一下,结果在那个白框框里没出来地图:
我以为我部署api到Tomcat上出了问题,于是我把Tomcat给删了,又重装……
然后今天我再次用测试代码测试一下,还是没出图,然后我仔细看了下测试代码,发现:
<link rel="stylesheet" type="text/css" href="http://<myserver>/arcgis_js_api/library/3.20/3.20/dijit/themes/tundra/tundra.css"/>
<link rel="stylesheet" type="text/css" href="http://<myserver>/arcgis_js_api/library/3.20/3.20/esri/css/esri.css" />
<script type="text/javascript" src="http://<myserver>/arcgis_js_api/library/3.20/3.20/init.js"></script>
<myserver>这个我没有改诶,要改成localhost:8080,不然怎么浏览器引用放在Tomcat上的css文件。好,问题就在这里,我把
<myserver>都替换成了localhost:8080,然后在用浏览器打开这个测试页面:
白框框中出现了地图,嗯,问题得到了解决。看来代码还是得细看啊,不然里面一个小小的问题,会导致莫名其妙的情况发生。