在离线部署查资料的过程当中,基本所有都是部署在“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端;