----因为实习公司的需要,本人又需要捡起快要忘掉了的ArcGIS API。闲话不多说,我们直接进入正题。----
一、在自己的电脑上安装Tomcat8.5
首先我们去Tomcat的官网下载Tomcat8.5,如下图所示:
图1 Tomcat官网
下载后得到的是一个.exe安装包,运行它并直接一路next下去(如果安装到一半停顿了,然后出来一个对话框,直接点“忽略")。
安装好后,任务栏那会出现一个Tomcat8.5的图标,然后在浏览器的地址栏里输入localhost:8080,会打开Tomcat8.5的页面,如下图所示:
图2 安装好了Tomcat8.5即可打开此页面
二、去ArcGISFor Developers下载ArcGIS API 3.2
打开ArcGIS For Developers的官网https://developers.arcgis.com/
需要注意的是,如果没有ArcGIS For Developers的账号,你得先注册一个ArcGIS for Developers的账号,注册的地址是https://developers.arcgis.com/sign-up
若有账号,请直接在https://developers.arcgis.com/sign-in/登录
图3 ArcGIS For Developers官网,请点击View DashBoard
图4 请点击Download APIs and SDKs & data
图5 API和Documentation都要下载
下载后得到两个压缩包,将其分别解压。
三、将ArcGIS API3.2部署到Tomcat8.5
(1)修改init.js和dojo.js
找到arcgis_js_v320_api\arcgis_js_api目录下的library
图6 library文件
复制该文件,将其粘贴到arcgis_js_v320_sdk\arcgis_js_api目录下
图7 library放在目标目录下了
上述操作完成后,打开arcgis_js_v320_sdk\arcgis_js_api\library\3.20,如下图,可以看到有两个3.2的文件文件夹,上面一个是标准版的,下面一个压缩版的:
图8 有两个3.20文件夹
用Visual Studio Code(下载地址https://code.visualstudio.com/)或者其他什么编译器将arcgis_js_v320_sdk\arcgis_js_api\library\3.20\3.20下的init.js和arcgis_js_v320_sdk\arcgis_js_api\library\3.20\3.20\dojo下的dojo.js分别打开,如下图:
图9 Visual Studio Code打开两个目标文件
在Visual Studio Code中快捷键Ctrl+H打开替换功能,把[HOSTNAME_AND_PATH_TO_JSAPI]替换成localhost/arcgis_js_api/library/3.20/3.20/,保存。
同理,将arcgis_js_v320_sdk\arcgis_js_api\library\3.20\3.20compact下的init.js和arcgis_js_v320_sdk\arcgis_js_api\library\3.20\3.20compact\dojo下的dojo.js分别打开,在Visual Studio Code中快捷键Ctrl+H打开替换功能,把[HOSTNAME_AND_PATH_TO_JSAPI]替换成localhost/arcgis_js_api/library/3.20/ 3.20compact/,保存。
(2)部署到tomcat8.5上去
找到arcgis_js_v320_sdk下的arcgis_js_api文件夹,复制它
图10 arcgis_js_api文件夹
将其粘贴到C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.5\webapps目录下
图11粘贴arcgis_js_api
(3)测试部署
写一个测试html文件,代码可直接复制如下:
<!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://localhost:8080/arcgis_js_api/library/3.20/3.20/dijit/themes/tundra/tundra.css"/>
<link rel="stylesheet" type="text/css" href="http://localhost:8080/arcgis_js_api/library/3.20/3.20/esri/css/esri.css" />
<script type="text/javascript" src="http://localhost:8080/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>
用浏览器打开该html文件,部署成功了应该是如下图所示:
图12 看到这个你就成功部署了