ArcGIS API for JS 4.x 離線部署(https)


在離線部署查資料的過程中,基本全部都是部署在“Default Web Site”下面,部署在這個下面的默認是 http 方式請求的。並且不能修改。

但是系統中請求的都是 https,這樣導致請求不到JS文件。

下面就介紹部署為 https 的方式。

1、下載 ArcGIS API SDK 文件

到官網上下載,要下載前必須要登錄才能看到下載列表,注冊一個也挺方便。

ArcGIS JS SDK 下載地址

下載對應的版本即可。

2、部署API

把下載的文件解壓放到要部署的位置,打開 IIS 管理器。

右鍵“網站”=》添加網站,出現如下界面

“物理路徑”選擇解壓的文件夾下的API文件,如我的4.10 “arcgis_js_v410_api\arcgis_js_api\library\4.10”。

“類型”選擇 https。

點擊確定離線就部署好。

3、配置文件

這里要修改兩個文件:init.js、dojo\dojo.js,把 [HOSTNAME_AND_PATH_TO_JSAPI] 替換為你發布的站點地址,如下:

到這里部署全部完成。在瀏覽器打開部署下的文件正常即可。

4、樣式圖標不顯示

 打開部署的離線站點“HTTP響應標頭”,添加以下幾項,重啟站點即可。

Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:origin,x-requested-with,content-type
Access-Control-Allow-Methods:POST,GET,OPTIONS
Access-Control-Allow-Origin:*

5、簡單示例代碼

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    html,
    body,
    #viewDiv {
      padding: 0;
      margin: 0;
      height: 100%;
      width: 100%;
    }
  </style>
  <link rel="stylesheet" href="https://192.168.1.216:8083//esri/css/main.css">
  <script src="https://192.168.1.216:8083/init.js"></script>
  <script>
    require([
      "esri/Map",
      "esri/views/MapView"
    ], function (Map, MapView) {
      var map = new Map({
        basemap: "streets"
      });
      var view = new MapView({
        container: "viewDiv", // Reference to the scene div created in step 5
        map: map, // Reference to the map object created before the scene
        zoom: 4, // Sets zoom level based on level of detail (LOD)
        center: [15, 65] // Sets center point of view using longitude,latitude
      });
    });
  </script>
</head>

<body>
  <div id="viewDiv"></div>
</body>

</html>
View Code

注意:

1、由於是自己發布的在第一次打開會提升不安全的網站,繼續訪問即可;

2、在清理緩存后還會提升不安全網站;

3、題外話,天地圖的key,雖然服務端和web端都有訪問切片權限,ArcGIS API JS下只能用web端;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM