这里以湖北省荆州市为例说明如何用ArcGIS API发布离线谷歌卫星地图。

在万能地图下载器中选择湖北省荆州市的行政区划,然后点击“下载”按钮新建下载任务。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(1)

在新建任务对话框中选择需要下载的级别,一般是从当前行政区划显示的级别开始选择(这里是第9级),一直接选择到第19级(国内19级清晰度效果最佳,19级以上基于19级放大),由于数据量非常大,这里只为了说明如何用ArcGIS API发布离线卫星地图的方法,因此这里以选择到第14级为例。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(2)

导出瓦片详细参数说明,请参阅:

导出瓦片参数说明

分别点击“确定”按钮开始下载任务,下载并自动导出后可以看到导出的瓦片目录为8到13级而不是我们选择的9到14级,这是因为软件中的级别编号是从1开始,而标准的TMS瓦片命名规则都是从0开始,因此该情况属于正常情况,瓦片的行列号编号规则同理。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(3)

在ArcGIS API发布离线卫星地图的源码示例中,将“arcgis_js_v321_api.zip”解压到当前文件夹。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(4)

打开解压后文件夹中的“install.html”可以查看ArcGIS API的安装布署说明。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(5)

ArcGIS API可以在Windows和Linux系统中安装布署,这里我们以Windows为例,点击“Windows”查看布署方法。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(6)

从ArcGIS API的安装布署说明中可以看到,需要将“\arcgis_js_api\library”文件复制到IIS默认站点下,该操作的目的是要将ArcGIS API放在Web站点中,说明它需要Web服务器支持。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(7)

另外,文档中说明了ArcGIS API有两个版本,一个是普通版,一个是精简版。

现在,我们需要布署一个Web服务器,用于布署ArcGIS API源码。

一般来讲,常用的Web服务器软件工具有IIS、Apache和Tomcat,这里我们以Windows自带的IIS为例。

如何开启IIS 功能,请参阅:

如何在Win10中开启IIS功能

IIS功能开启后,在电脑图标的右键菜单中选择“管理”菜单项。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(8)

在“计算机管理”的功能树列表中点击“服务和应用程序\Internet Information”项,然后在“网站”节点的右键菜单中选择“添加网站”项。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(9)

在显示的“添加网站”对话框中,可以为当前站点指定名称(这里为“WebGIS”),将物理路径设置为ArcGIS API解压后的目录,这里将端口号设置为“8080”,这样不会与访问Web页面的80端口冲突,如果没有布署过80端口的网站则不会有冲突。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(10)

点击新建的Web站点“WebGIS”后,再点击“内容视图”可以查看站点文件。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(11)

Web站点布署好之后,我们再回过头来看ArcGIS API的布署说明文档,文档中分别说明了普通版和精简版中都需要对相关文件作修改编辑,这里我们以普通版本为例。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(12)

根据ArcGIS API布署说明文档中的说明,在指定的源码路径中找到init.js文件,并在右键菜单中选择用记事本打开它。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(13)

按文档中的说明,将“https:/[HOSTNAME_AND_PATH_TO_JSAP]dojo”字符串修改为“https://<myserver>/arcgis_js_api/library/3.21/3.21/dojo”字符串。

其中的<myserver>表示服务器地址,由于我们这里是以在本机上布署为例,因此它要相应的改为本机地址,即127.0.0.1或localhost,同时需要加上端口号,即最后的替换结果为:

http://127.0.0.1:8080/arcgis_js_api/library/3.21/3.21/dojo

arcgis加载在线地图怎样使用:如何用ArcGISAPI(14)

注意:文档中的Web地址头为“https”,如果你的服务器不支持安全加密访问,只需要将地址头改为“http”即可。

编辑修改成完成后,需要测试init.js文件是否可以通过Web地址正常访问。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(15)

在浏览器中如果打开以下地址显示init.js文件内容,说明布署正确。

http://127.0.0.1:8080/arcgis_js_api/library/3.21/3.21/init.js

arcgis加载在线地图怎样使用:如何用ArcGISAPI(16)

ArcGIS API安装布署完成后,将ArcGIS API离线地图发布源码示例中的“extlayers”文件夹复制到“arcgis_js_v321_api\arcgis_js_api\library\3.21\3.21”路径下。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(17)

将下载的地图瓦片目录复制到ArcGIS API发布离线地图的源码示例中。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(18)

用专业的WebGIS开发工具Visual Studio Code打开“arcgis_js_v321_api\arcgis_js_api\library\3.21\3.21\extlayers\gaodelayer.js”文件,将第133行中的“gaodeTiles”字符串修改为当前的瓦片目录名称,即“荆州市谷歌地图TMS瓦片”。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(19)

Visual Studio Code下载安装教程,请参阅:

如何安装WebGIS开发工具Visual Studio Code

双击ArcGIS API离线地图发布源码中的“map.html”文件,可以在浏览器中打开ArcGIS API发布的离线地图结果。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(20)

在浏览器中打开离线地图发布结果如下图所示。

arcgis加载在线地图怎样使用:如何用ArcGISAPI(21)

在该源码示例中,除了能离线显示谷歌卫星地图外,还包括了基本的地图标注等相关GIS功能。

ArcGIS API for JavaScript在线实例请参阅:

http://api.rivermap.cn/ArcGIS/map.html

,