博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
内网部署 JavaScript Arcgis API 服务
阅读量:17414 次
发布时间:2019-09-18

本文共 2110 字,大约阅读时间需要 7 分钟。

应本司需求,需做一个arcgis工具,奈何客户所在网络不许连接外网,但是arcgis的案例中使用的都是arcgis的在线服务。使得你在外围开发的东西,到了内网就都成了废物。今天小小的总结一下我的配置过程,以作备忘,共大家探讨交流。

首先提供一些未使用本地(内网)arcgis服务的报错信息(大致了解一下,可忽略不看):

1 . jsapi_zh-cn.js Failed to load resource: net::ERR_NAME_NOT_RESOLVED

2. init.js:37 Error: scriptError

        at c (init.js:11)
        at HTMLScriptElement.<anonymous> (init.js:35)
   (anonymous) @ init.js:37
   (anonymous) @ init.js:15
    d @ init.js:10
    k.signal @ init.js:15
    (anonymous) @ init.js:35
    init.js:37 src: dojoLoader
    init.js:37 info: (2) ["https://js.arcgis.com/3.23/esri/nls/jsapi_zh-cn.js", Event]

3. Error: scriptError

        at c (init.js:11)
        at HTMLScriptElement.<anonymous> (init.js:35)
    (anonymous) @ init.js:37
    (anonymous) @ init.js:15
    d @ init.js:10
    k.signal @ init.js:15
    (anonymous) @ init.js:35
    init.js:37 src: dojoLoader

    init.js:37 info: (2) ["https://js.arcgis.com/3.23/esri/layers/VectorTileLayerImpl.js", Event]

还有很多类似的js错误,就不列举了。

解决方案:本地(内网)部署arcgis服务

   1.你首先要拥有自己的内网地图地图服务,我们使用的亿阳内网地图服务。

   2. 下载ArcGIS JavaScript API(需要注册ArcGis账号):

        https://developers.arcgis.com/downloads/apis-and-sdks?product=javascript  (选择你所使用的版本,我使用的是3.23);

 

2. 点击下载完成之后,解压下载好的压缩包,里面的文件如图:

    

        其实到这里本文字基本就算结束了,你只要打开install.html文件,里面详细的描述了内网的安装过程。

        如果你觉得看英文费劲,你可以:

        1 . 使用google chrome 浏览器的翻译功能,

        2. 我接下来简洁明要的概述安装过程

3 . 安装简要概述:

1。确定你的容器,windows环境可以是IIS / tomcat , Linux建议是tomcat / jetty 都可以

2.将arcgis_js_api 整个文件复制到 wwwroot / webapps ...(即你所使用的容器存放项目的位置即可),我们暂且就叫它WEB_HOME

3. 更改配置,官方建议使用的是https协议,很明显我们内网使用http协议就好,

    1) WEB_HOME\arcgis_js_api\library\3.23\3.23\init.js在文本编辑器中打开并搜索文本"http://[HOSTNAME_AND_PATH_TO_JSAPI]dojo",并将其替换为"https://<hostname/ip:port>/arcgis_js_api/library/3.23/3.23/dojo"

    2)  WEB_HOME\arcgis_js_api\library\3.23\3.23\dojo\dojo.js在文本编辑器中打开并搜索文本"https://[HOSTNAME_AND_PATH_TO_JSAPI]dojo",并将其替换为"https://<myserver>/arcgis_js_api/library/3.23/3.23/dojo"

 3) 将地图服务替换成你的内网地图服务,打开WEB_HOME\arcgis_js_api\library\3.23\3.23\init.js,搜索https://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer,然后替换成你的内网地图服务:http://192.168.1.12:8099/arcgis/rest/services/gxyx/MapServer

     

4.验证你的服务是否正常:

    输入 HTTPS:// <MYSERVER> /arcgis_js_api/library/3.23/3.23/init.js,看是否可以正常访问到js内容。

   

你可能感兴趣的文章
这是什么“虎狼之词”啊!!!程序员的健康问题,看一线老中医怎么说!!!
查看>>
打开我的收藏夹 -- Python数据分析杂谈
查看>>
上手Pandas,带你玩转数据(1)-- 实例详解pandas数据结构
查看>>
上手Pandas,带你玩转数据(2)-- 使用pandas从多种文件中读取数据
查看>>
上手Pandas,带你玩转数据(3)-- pandas数据存入文件
查看>>
爬虫遇上不让右击、不让F12的网站,该怎么办?
查看>>
上手Pandas,带你玩转数据(4)-- 数据清洗
查看>>
上手Pandas,带你玩转数据(5)-- 数据转换与数据定位
查看>>
上手Pandas,带你玩转数据(6)-- 摆脱对pandas可视化丑图的刻板印象吧
查看>>
从零开始,学会Python爬虫不再难!!! -- (1)开篇:初识爬虫,基础铺垫 丨蓄力计划
查看>>
从零开始,学会Python爬虫不再难!!! -- (2)承接:解析网页,抓取标签 丨蓄力计划
查看>>
AttributeError: module ‘urllib‘ has no attribute ‘quote‘的解决办法
查看>>
linux shell — 6.初识 EXT2 文件系统
查看>>
Java — String(字符串)
查看>>
linux shell — 7.linux 磁盘与文件系统管理
查看>>
linux shell — 8.linux 磁盘与文件系统管理(2)
查看>>
Java — 事件监听、事件处理 初体验
查看>>
linux — Centos 7(第一天) 使用时出现的问题及解决方法
查看>>
数据结构 — 图的概述
查看>>
Centos 7 上 Eclipse 无法输入中文解决方法
查看>>