arcgis api linux部署_arcgis api 4.x for js 离线部署

本文档详细介绍了如何在Linux环境下进行ArcGIS API 4.x for JavaScript的离线部署,包括API下载、解压、配置init.js和dojo.js文件以解决跨域问题,最后通过一个简单的HTML示例验证部署成功。
摘要由CSDN通过智能技术生成

4ce9e8ecbb61940c827d426e970d9162.png
在我的GIS之家群里,经常遇到 webgis 开发新手们提问 arcgis api for js 如何本地离线部署,而不是直接调用在线的,因为在线模式依赖互联网以及网速环境因素,受到的限制影响比较大。所以,本篇专门来讲解 arcgis api for js 离线部署的详细步骤配置以及测试是否部署成功,以 IIS 部署为例,tomcat 部署配置也是同个道理,差别不大。


本篇以 arcgis api 4.x for js 版本系列为测试用例,其实 arcgis api 3.x for js 版本系列的离线配置方法也是类似的,之前写过一篇,参照文章,这里不再一一叙述。
arcgis api 下载途径

  • esri官网下载,下载需要注册 arcgis 用户才行,版本自己选择,官网下载最新版本api的地址:
    官网下载页面

cffa53c5def023a9e1228188f0c993a1.png
  • 共享已经下载好的 arcgis 3.x 以及arcgis 4.x 系列api版本地址:
    arcgis api3.18 for js:下载
    arcgis api3.19 for js:下载
    arcgis api3.20 for js:下载
    arcgis api3.23 for js:下载
    arcgis api3.24 for js:下载
    arcgis api3.25 for js:下载
    arcgis api3.26 for js:下载
    arcgis api3.27 for js(密码:qrwh):下载
    arcgis api4.1 for js:下载
    arcgis api4.2 for js:下载
    arcgis api4.6 for js:下载
    arcgis api4.7 for js:下载
    arcgis api4.8 for js:下载
    arcgis api4.9 for js:下载
    arcgis api4.10 for js(密码:6agz):下载

IIS部署配置方案

  • 把下载的arcgis api 4.x 离线包解压拷贝到 C:inetpubwwwroot 目录下:

c77bb1ccfd2a28c6178c5a86668c4277.png
  • 配置 init.js 文件,修改里面的路径,我本机的目录如下:
    C:inetpubwwwrootarcgis_js_apilibrary4.10init.js ;
    init.js 文件里面,全局搜索 [HOSTNAME_AND_PATH_TO_JSAPI] ,然后替换成 api 在本地机器上的部署路径,我的配置如下:http://localhost/arcgis_js_api/library/4.10/dojo

1b2d48987f5702f4f2be612e5e44e724.png
  • 同理,配置 dojo.js 文件

29aa8fece3d75676e9f11a72c14c7b40.png


全局搜索 [HOSTNAME_AND_PATH_TO_JSAPI] ,然后替换成 api 在本地机器上的部署路径,我的配置如下:http://localhost/arcgis_js_api/library/4.10/dojo

b9ff02941acd87e327864e69e5a7649f.png

测试离线部署api是否成功
用html编写一个简单的加载在线地图显示例子,代码如下:

<!DOCTYPE html> 
<html> 
<head> 
 <meta charset="utf-8"> 
 <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no"> 
 <title>Intro to MapView - Create a 2D map - 4.10</title> 
 <style> 
 html, 
 body, 
 #viewDiv { 
 padding: 0; 
 margin: 0; 
 height: 100%; 
 width: 100%; 
    } 
 </style> 
 
 <link rel="stylesheet" href="http://localhost/arcgis_js_api/library/4.10/esri/css/main.css"> 
 <script src="http://localhost/arcgis_js_api/library/4.10/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", 
 map: map, 
 zoom: 4, 
 center: [15, 65] // longitude, latitude 
      }); 
 
    }); 
 </script> 
</head> 
 
<body> 
 <div id="viewDiv"></div> 
</body> 
</html> 


在有互联网情况下,地图能够加载出来,说明离线部署成功

eb83cef806869fa8b98a2a6e22452947.png


窃喜之余,突然发现网页f12模式下,控制台出现跨域错误:

10b7fe00c56551875c931823bb92096e.png


arcgis api 3.x 版本离线部署没有出现这种问题,所以,还要解决IIS跨域问题,具体步骤如下:

  • 打开IIS界面,点击HTTP响应标头

b40f26fc822d7cc127c08eb40f9c8e29.png
  • 在右侧可以看到添加,然后添加如下标头即可
    Access-Control-Allow-Headers:Content-Type, api_key, Authorization
    Access-Control-Allow-Origin:*

0afb0fc56113159127de299331d371d0.png

b4e1376f4859dbd2afcc43b3d0df88e4.png

99c769e6763d4cb325b4512564748175.png
  • 刷新网页,控制台没报错了,解决跨域问题

577f96712e8612652b487ff368d1ddf9.png
更多的详情见GIS之家小专栏 文章尾部提供源代码下载,对本专栏感兴趣的话,可以关注一波
GIS之家店铺:GIS之家
GIS之家源码咨询:GIS之家webgis入门开发系列demo源代码咨询
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值