學習ArcGIS API for JavaScript 4.10 的第一步就是下載並部署該文件。
現在的版本為4.15好像是,步驟都相似,以后的文章如果遇到新版本才有的功能我會在文章中說明
本篇文章介紹如何將ArcGIS API for JavaScript 4.10下載並部署到IIS上
下載Arcgis API for JavaScript 4.10
首先打開網址:https://developers.arcgis.com/javascript/
將這兩個文件都解壓到桌面,至此下載工作就完成了
部署Arcgis API for JavaScript 4.10
第一步:開啟IIS服務
控制面板---程序---啟用或關閉Windows功能,然后按下圖進行操作
過了幾分鍾后,會提示IIS服務已經啟動,這時候C盤會出現一個名為inetpub的文件夾,這個文件夾很重要。
將解壓好的arcgis_js_v410_sdk文件夾(在桌面)復制粘貼到inetpub文件夾下的wwwroot文件夾下,如下圖:
接下來,桌面上應該還有一個arcgis_js_v410_api的文件夾,按下圖操作,找到library文件夾
將library文件夾復制粘貼到如下圖所示地址中
打開兩個文件一個是init.js,另一個是dojo.js,兩個文件的位置如下圖所示。作者使用VS2017打開這兩個文件
第一步:Ctrl+F組合鍵查找[HOSTNAME_AND_PATH_TO_JSAPI],並替換為 localhost/arcgis_js_v410_sdk/arcgis_js_api/library/4.10
第二步:將https:// 換成 http://
對上述兩個文件執行相同的操作
作者第一次修改文件的時候,后面的dojo距離前面有空格,所以調試一直出錯,大家注意一下。引號里面不應該出現空格。
原則上來說,如果沒有操作失誤,部署工作就也完成啦。接下來就要檢驗一下是否部署成功啦。
測試部署是否成功
在空白網址中輸入:http://localhost/arcgis_js_v410_sdk/arcgis_js_api/library/4.10/init.js
如果能讀取文件則成功,如下圖
下面打開一個地圖,使用部署在本機的文件,看看能否正確打開
上面紅色框括起來的是新的引用,引用在本地(localhost)部署的文件。
下面紅色框括起來的是舊的引用,引用在arcgis官網上部署的文件。
作者第一次操作的時候出現了一個問題:
對於原引用<script src="https://js.arcgis.com/4.10/"></script>,作者以為是一個空的文件夾因此轉換成新的引用就變成了<script src="http://localhost/arcgis_js_v410_sdk/arcgis_js_api/library/4.10/"></script>
少了后面的dojo/dojo.js。
實際上,在vs中,按住ctrl鍵再點擊原引用,會出現如下圖所示的界面,因此引用的是dojo/dojo.js這個文件。因此應該是<script src="http://localhost/arcgis_js_v410_sdk/arcgis_js_api/library/4.10/dojo/dojo.js"></script>
這個問題希望引起讀者的注意
最后,如果地圖成功顯示,則部署成功~
最后附上地圖代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no">
<title>Intro to MapView - Create a 2D map - 4.10</title>
<style>
html,
body,
#viewDiv {
padding: 0; margin: 0; height: 100%; width: 100%; } </style> <link rel="stylesheet" href="http://localhost/arcgis_js_v410_sdk/arcgis_js_api/library/4.10/esri/css/main.css"> <script src="http://localhost/arcgis_js_v410_sdk/arcgis_js_api/library/4.10/dojo/dojo.js"></script> <!--<link rel="stylesheet" href="https://js.arcgis.com/4.10/esri/css/main.css"> <script src="https://js.arcgis.com/4.10/"></script>--> <script> require([ "esri/Map", "esri/views/MapView" ], function (Map, MapView) { var map = new Map({ basemap: "streets" }); var view = new MapView({ container: "viewDiv", map: map, zoom: 4, center: [15, 65] // longitude, latitude }); }); </script> </head> <body> <div id="viewDiv"></div> </body> </html>