1. 程式人生 > >arcis api for js 值 3.17 本地部署

arcis api for js 值 3.17 本地部署

好的 dtd uri sso 目錄 charset width theme 打開

1. 引言

在學習 ArcGIS API 的過程中,如果我們引用在線的 API,在沒有網絡或者網絡差的情況下,會影響到我們的學習效率,本篇文章就是為了解決這個問題。下載 ArcGIS API 之後,部署到本地,會大大提高用戶體驗。

2. 步驟

在部署之前,我們要下載 API ,這裏我分享下各個版本的 API,有需要的請自行下載,提取碼為 ajx1

將文件部署到本地,然後通過 HTTP 的方式訪問,這就需要將本機當成服務器,以下兩種方法就是通過不同的服務器部署的(ISS 和 Tomcat)。

2.1 ISS 部署

2.1.1 打開 ISS 功能

按照以下順序進行操作:打開控制面板 - 程序 - 打開或關閉 Windows 功能,以下是一些需要打開的功能。點擊確定後等待開啟。

技術分享圖片
技術分享圖片

技術分享圖片
技術分享圖片

打開 ISS 功能之後,我們會發現 C 盤下多了一個 inetpub 文件夾(如果是按照默認配置的話)。inetpub 文件夾進去之後的 wwwroot 就是我們服務的根目錄。

如果我們把一個 thst.html 文件放在 wwroot 文件夾下,那麽訪問路徑就為 http://localhost/test.html

2.1.2 修改 dojo.js 和 init.js 文件

解壓下載好的 api 壓縮包,裏面有一個 install_API.html 文件,我們修改這兩個文件主要是根據這個文件,打開之後點擊 windows,跳轉 windows 配置的頁面。
技術分享圖片
雖然該 HTML 文件是英文,我們只需找到我們所需要的信息就可以了。
技術分享圖片

根據上面的提示,我們找到 init.js 和 dojo.js 文件中的 [HOSTNAME_AND_PATH_TO_JSAPI],改成 : http://localhost/... ,localhost 後面加上的路徑確保能夠訪問到 init.js 文件。

例如我 init.js 文件是在這個路徑: C:\inetpub\wwwroot\arcgis_js_api_v320\library\3.20\3.20\init.js,那麽我應該講上述配置改為 http://localhost/arcgis_js_api_v320/library/3.20/3.20。
接下來的三個配置和這個類似,就不再展開。

2.1.3 測試部署是否成功

按照上面的配置,確保在瀏覽器窗口輸入 http://localhost/arcgis_js_api_v320/library/3.20/3.20compact/init.js ,如果能夠訪問到 init.js 文件。根據不同的部署環境應輸入不同 URL。

技術分享圖片

接著講下面這段代碼放在一個 HTML 文件中,如果能夠看到以下畫面,說明 API 部署成功。

需要將 兩個 link 標簽和一個 script 標簽後面鏈接的文件地址改以下。

<!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/arcgis_js_api_v320/library/3.20/3.20/dijit/themes/tundra/tundra.css"/>
    <link rel="stylesheet" type="text/css" href="http://localhost/arcgis_js_api_v320/library/3.20/3.20/esri/css/esri.css" />
    <script type="text/javascript" src="http://localhost/arcgis_js_api_v320/library/3.20/3.20/init.js"></script>
    <script type="text/javascript">
      dojo.require("esri.map");
      function init() {
        var myMap = new esri.Map("mapDiv");
        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>

技術分享圖片

2.2 Tomcat 部署

有了在 ISS 環境部署的經驗,在 Tomcat 部署本質上是一樣的。這裏說明下一個需要主意的地方:

在修改 init.js 和 dojo.js 文件時,需要將路徑修改為 http://localhost:8080/ ,這個路徑表示 Tomcat 的 webapps 文件夾,在測試部署是否成功時,將 html 文件中的三個鏈接修改為對應的路徑即可。

arcis api for js 值 3.17 本地部署