1.簡(jiǎn)介
在ArcGIS Server的rest地址中窍育,使用JS方式預(yù)覽地圖服務(wù)時(shí)恬偷,會(huì)使用在線(xiàn)的ArcGIS JS API在辆。通常生產(chǎn)環(huán)境下是無(wú)法訪(fǎng)問(wèn)外網(wǎng)的规揪,所有導(dǎo)致無(wú)法方便的預(yù)覽地圖服務(wù)工闺。當(dāng)然也可以通過(guò)portal來(lái)預(yù)覽乍赫,或者部署離線(xiàn)版JS API。這里提供一種更簡(jiǎn)潔的方式陆蟆,不需要額外的軟件環(huán)境或Web服務(wù)器雷厂,而是直接使用ArcGIS Server中的tomcat來(lái)實(shí)現(xiàn)離線(xiàn)版JS API的部署。
2.JS API離線(xiàn)部署
(1)離線(xiàn)部署
打開(kāi)ArcGIS for Server安裝目錄\Server\framework\runtime\tomcat\webapps
叠殷,在其中創(chuàng)建文件夾arcgis#jsapi
改鲫,并將JS API復(fù)制到其中。
(2)修改JS API配置
修改arcgis#jsapi/3.20/init.js和arcgis#jsapi/3.20/dojo/dojo.js
文件林束,將文件中的[HOSTNAME_AND_PATH_TO_JSAPI]/dojo
修改為本地訪(fǎng)問(wèn)地址像棘,如:"webgisdemo.xinli.local:" + (location.protocol === "https:" ? "6443" : "6080") + "/arcgis/jsapi/3.20/dojo"
。
3.ArcGIS Server中配置與測(cè)試
(1)Server Admin配置
在Server Admin中壶冒,打開(kāi)地址:https://webgisdemo.xinli.local:6443/arcgis/admin/system/handlers/rest/servicesdirectory
缕题。
點(diǎn)edit,修改其中的地址:
Javascript API URL :https://webgisdemo.xinli.local:6443/arcgis/jsapi/3.20/init.js
Javascript API CSS URL :https://webgisdemo.xinli.local:6443/arcgis/jsapi/3.20/dijit/themes/tundra/tundra.css
Javascript API CSS2 URL :https://webgisdemo.xinli.local:6443/arcgis/jsapi/3.20/esri/css/esri.css
(2)預(yù)覽測(cè)試
4.其他
4.1.預(yù)覽需求
如果有Portal環(huán)境胖腾,有兩種方式來(lái)預(yù)覽地圖服務(wù):
- 可以直接通過(guò)Portal來(lái)預(yù)覽ArcGIS Server中的服務(wù)烟零,并且還可以做查詢(xún)分析等額外功能。
- 在ArcGIS Server中配置使用Portal的JS API咸作,繼續(xù)使用ArcGIS Server rest地址來(lái)預(yù)覽锨阿。
如果沒(méi)有Portal環(huán)境,也有兩種方式預(yù)覽地圖服務(wù):
- 使用ArcGIS桌面軟件來(lái)預(yù)覽记罚,同樣提供查詢(xún)等外額功能墅诡。
- 部署離線(xiàn)JS API,再在ArcGIS Server中配置使用和預(yù)覽毫胜。
4.2.開(kāi)發(fā)需求
- 如果使用最新版JS API书斜,需要部署離線(xiàn)版JS API诬辈,可以使用本文的方式,也可以部署在web工程下荐吉。這兩種方式可不用部署額外的Web服務(wù)器焙糟。
- 直接使用Portal中提供的JS API。需要注意的是Portal中的JS API版本不是最新版样屠。
4.3.Web工程下部署JS API
JS API需要修改dojo.js文件穿撮,并將訪(fǎng)問(wèn)url設(shè)置其中,為避免綁死在固定url上痪欲,可做如下修改:
- 在dojo.js文件頭悦穿,添加:
var agsJsBaseUrl= window.location.protocol+"http://"+window.location.host
; -
[HOSTNAME_AND_PATH_TO_JSAPI]
部分修改為:baseUrl:agsJsBaseUrl+"/arcgis/jsapi/4.4/dojo"
4.4.JS API4.4離線(xiàn)部署
- 離線(xiàn)部署
打開(kāi)ArcGIS for Server安裝目錄\Server\framework\runtime\tomcat\webapps
,在其中創(chuàng)建文件夾arcgis#jsapi
业踢,并將JS API復(fù)制到其中栗柒。
目錄結(jié)構(gòu) - 修改配置文件
修改arcgis#jsapi/4.4/dojo/dojo.js
文件,在文件頭增加:將文件中的[HOSTNAME_AND_PATH_TO_JSAPI]
修改為本地訪(fǎng)問(wèn)地址知举,如:https://webgisdemo.xinli.local:6443/arcgis/jsapi/4.4/
- 調(diào)用測(cè)試
JS引用:https://webgisdemo.xinli.local:6443/arcgis/jsapi/4.4/dojo/dojo.js
CSS引用:
https://webgisdemo.xinli.local:6443/arcgis/jsapi/4.4/dijit/themes/claro/claro.css
https://webgisdemo.xinli.local:6443/arcgis/jsapi/4.4/esri/css/main.css