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

注意:

1、由于是自己发布的在第一次打开会提升不安全的网站,继续访问即可;

2、在清理缓存后还会提升不安全网站;

3、题外话,天地图的key,虽然服务端和web端都有访问切片权限,ArcGIS API JS下只能用web端;

最新文章

  1. TODO:Golang语言TCP/UDP协议重用地址端口
  2. Docker 创建php 开发环境遇到的权限问题解决方案
  3. 删除重复的字符(给一个字符串,删除连续重复的字符,要求时间复杂度为O(1)……)
  4. C逻辑型变量——时控灯例子
  5. 如何搭建ss服务器
  6. django引用static目录下的css,js文件304问题
  7. JS DOM 来控制HTML元素
  8. boost------asio库的使用1(Boost程序库完全开发指南)读书笔记
  9. 一个轻量级rest服务器
  10. S/4 HANA中的ACDOCT和FAGLFLEXT
  11. 流程控制语句(if switch)
  12. 【Vue】组件watch props属性值
  13. LeetCode Weekly Contest 32
  14. lettcode21. Merge Two Sorted Lists
  15. 解决python多版本共存问题
  16. Quartz的时间配置
  17. Ubuntu14.04+caffe+CPU
  18. 20165305 Linux安装及学习
  19. 性能测试工具Locust,一个开源性能测试工具
  20. BZOJ1084或洛谷2331 [SCOI2005]最大子矩阵

热门文章

  1. linux中安装python3.7
  2. layui 监听switch事件
  3. c++中的不是数的数nan
  4. Zuul学习笔记
  5. 如何在一个文件中写多个Vue组件(译-有删改)
  6. spring整合quartz报错
  7. PHP生成随机单词
  8. nginx安装错误:No package nginx available
  9. mysql删除字符串的前后的空格
  10. UOJ348 WC2018 州区划分 状压DP、欧拉回路、子集卷积