本地部署arcgis api for javascript

部署目的

  arcgis api for javascript的CDN訪問速度非常慢,對程序調試非常不方便。因此將其在本地部署,可以有效的節約時間。部署文檔是英文的,有個REST.CONFIG配置文件找了半天才找到,記下來方便今後安裝。這個針對.net的,JAVA的其實步驟差不多,就是配置的時候有點區別,具體請參考API壓縮包中的INSTALL.HTML文檔。

部署準備

   1.在ESRI中國官網下載arcgis api for javascript,這裡使用的是ArcGIS API for JavaScript 3.2 : Library下載地址。如果只是部署API,不需要下載SDK(裡面包括了官網的例子等).

2.安裝IIS

3.安裝arcgis server,這裡安裝的是10,需要安裝Gis services和web applications。 

部署過程

   1.將下載的API壓縮包arcgis_js_v32_api.zip解壓,解壓包中包括了normal版(arcgis_js_v32_api\arcgis_js_api\library\3.2\jsapi下)和compact版(arcgis_js_v32_api\arcgis_js_api\library\3.2\jsapicompact下),compact版只有API必要的文件,不包括DOJO庫和CSS等,因此可以不考慮。

  2. 將\arcgis_js_api\library複製到IIS默認文件夾下,這裡是C:\Inetpub\wwwroot\arcgis_js_api\library.

  3.打開\arcgis_js_api\library\3.2\jsapi\init.js文件,找到[HOSTNAME_AND_PATH_TO_JSAPI]字段,替換為本機的機器名,如"<myserver>/arcgis_js_api/library/3.2/jsapi/"。這裡改為:"localhost:80/arcgis_js_api/library/3.2/jsapi/ "(不要加上"http:\\"頭)

  4.打開\arcgis_js_api\library\3.2\jsapi\js\dojo\dojo\dojo.js文件,找到[HOSTNAME_AND_PATH_TO_JSAPI]字段,替換為本機的機器名稱,如"<myserver>/arcgis_js_api/library/3.2/jsapi/"。這裡改為:"localhost:80/arcgis_js_api/library/3.2/jsapi/"(不要加上"http:\\“頭)

  5.修改rest.config配置,該文件在IIS默認文件夾下的\ArcGIS\rest,這裡是C:\inetpub\wwwroot\ArcGIS\rest(必須安裝arcgis server-web application)。將<ArcGIS>和<ArcGISCSS>中的"serverapi.arcgisonline.com"替換為本機名。

  默認的rest.config的JSAPI配置節,注意配置文件裡默認的還是V2.0的版本:

  <JsApi>
    <ArcGIS>http://serverapi.arcgisonline.com/jsapi/arcgis?v=2.0</ArcGIS>
    <ArcGISDotCOM>http://www.arcgis.com/home/webmap/viewer.html</ArcGISDotCOM>
    <ArcGISSDK>http://resources.esri.com/arcgisserver/apis/javascript/arcgis</ArcGISSDK>
    <ArcGISCSS>http://serverapi.arcgisonline.com/jsapi/arcgis/2.0/js/dojo/dijit/themes/tundra/tundra.css</ArcGISCSS>
    
                                          ....
  </JsApi>

  修改為:

<JsApi>
      <ArcGIS>http://localhost:80/arcgis_js_api/library/3.2/jsapi?v=3.2</ArcGIS>
    <ArcGISDotCOM>http://www.arcgis.com/home/webmap/viewer.html</ArcGISDotCOM>
    <ArcGISSDK>http://resources.esri.com/arcgisserver/apis/javascript/arcgis</ArcGISSDK>
    <ArcGISCSS>http://localhost:80/arcgis_js_api/library/3.2/jsapi/js/dojo/dijit/themes/tundra/tundra.css</ArcGISCSS>

                                  ......
  </JsApi>

  注:安裝隨API的文檔,只需要修改主機名即可,我這裡把後面的路徑也安裝部署的路徑更改了,並測試通過,如果只是修改主機名的話沒有測試,不過應該可以。

部署結果

   1.測試:在WEB瀏覽器中打開http://localhost:80/arcgis_js_api/library/3.2/jsapi/init.js,如果可以打開,表示配置OK了。

  2.使用:在代碼中將CDN的引用鏈接

<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=3.2"></script>

     替換為:

<script type="text/javascript" src="http://localhost:80/arcgis_js_api/library/3.2/jsapi/init.js"></script>

  將CSS的代碼替換為:

<link rel="stylesheet" type="text/css" href="http://localhost:80/arcgis_js_api/library/3.2/jsapi/js/dojo/dijit/themes/tundra/tundra.css"/>

    <link rel="stylesheet" type="text/css" href="http://localhost:80/arcgis_js_api/library/3.2/jsapi/js/esri/css/esri.css" />

  用firebug查看,測試通過。

原文地址:https://www.cnblogs.com/matoo/p/2713678.html