在離線部署查資料的過程當中,基本所有都是部署在「Default Web Site」下面,部署在這個下面的默認是 http 方式請求的。而且不能修改。javascript
可是系統中請求的都是 https,這樣致使請求不到JS文件。css
下面就介紹部署爲 https 的方式。html
到官網上下載,要下載前必需要登陸才能看到下載列表,註冊一個也挺方便。java
下載對應的版本便可。web
把下載的文件解壓放到要部署的位置,打開 IIS 管理器。api
右鍵「網站」=》添加網站,出現以下界面瀏覽器
「物理路徑」選擇解壓的文件夾下的API文件,如個人4.10 「arcgis_js_v410_api\arcgis_js_api\library\4.10」。緩存
「類型」選擇 https。安全
點擊肯定離線就部署好。
這裏要修改兩個文件:init.js、dojo\dojo.js,把 [HOSTNAME_AND_PATH_TO_JSAPI] 替換爲你發佈的站點地址,以下:
到這裏部署所有完成。在瀏覽器打開部署下的文件正常便可。
打開部署的離線站點「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:*
<!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>
注意:
一、因爲是本身發佈的在第一次打開會提高不安全的網站,繼續訪問便可;
二、在清理緩存後還會提高不安全網站;
三、題外話,天地圖的key,雖然服務端和web端都有訪問切片權限,ArcGIS API JS下只能用web端;