Skip To Content

针对 JavaScript Viewer 配置离线环境

需要 Workflow Manager 许可。

JavaScript Viewer 可以配置为使用离线环境(即无可用 Internet 连接或组织禁止访问 Internet)中的本地资源。

要离线部署 JavaScript Viewer,必须将以下各个项目配置为指向本地资源:

  • ArcGIS Maps SDK for JavaScript
  • ArcGIS 服务:
    • 地图
    • 几何服务
    • 定位器服务
  • Font Awesome CDN

了解有关在断开连接的门户中配置资源和服务的详细信息

下载并修改适当的 ArcGIS Maps SDK for JavaScript 版本

按照以下步骤下载并修改适当的 Maps SDK for JavaScript 版本:

  1. 打开 index.html 文件并确定与 JavaScript Viewer 兼容的 Maps SDK for JavaScript 版本。
  2. 下载相应版本的 Maps SDK for JavaScript,然后将其部署到您的 Web 服务器
    注:

    Maps SDK for JavaScript 版本随 Portal for ArcGIS 预安装,网址为 Https://[hostname].[domain]/portal/jsapi/jsapi/。如果 Maps SDK for JavaScript 的版本与 index.html 文件中列出的版本不一致,请下载并安装适当的版本。

  3. 使用文本编辑器编辑 index.html 文件并将下面显示的引用替换为本地安装的版本。

    替换以下内容:

    <link rel="stylesheet" href="//js.arcgis.com/[version]/esri/css/esri.css"> 
    <script type="text/javascript" src="//js.arcgis.com//[version]/"></script>

    使用:

    <link rel="stylesheet" href="//[your-server].[domain]/jsapi/esri/css/esri.css"> 
    <script type="text/javascript" src="//[hostname].[domain]/jsapi/"></script>

    或者:

    <link rel="stylesheet" href="//[your-server].[domain]/portal/jsapi/jsapi/esri/css/esri.css"> 
    <script type="text/javascript" src="//[hostname].[domain]/portal/jsapi/jsapi/"></script>

ArcGIS 服务

修改 js/app/WorkflowManager/config/AppConfig.js 文件以指向本地服务。

地图服务

要离线使用地图,将 map 部分修改为引用本地服务。 下表介绍了诸多属性,用于为离线环境配置切片或非切片地图服务:

底图库描述
map.basemapGallery

可通过以下属性配置切片地图服务以用作 JavaScript Viewer 的底图。 微件仅支持切片地图服务。

了解有关支持的底图类型的详细信息

  • isEnabled - 设置此属性可启用或禁用用于选择底图的地图库。
  • showArcGISBasemaps - 将此属性设置为 false(对于离线环境)。 默认情况下,此属性设置为 true 以引用 ArcGIS Online 中的地图服务。
  • defaultBasemap - 将此属性更新为您的自定义底图的名称。 此属性用于设置底图库的默认底图。
  • customBasemaps - 更新此属性以指向您的本地底图服务。 移除 ArcGIS Online 服务引用的街道底图、混合底图和地形底图。 以下为示例:

    customBasemaps : [
      {
        id: “localbasemap",
        title: "localbasemap",
        layers: [{
          url: "https://[hostname].[domain]/arcgis/rest/services/[localbasemap]/MapServer"
        }],
        thumbnailUrl: "js/widget/gis/BasemapGallery/images/localbasemap.jpg"
      }
    ]

自定义底图描述
map.customBasemap

可通过以下属性配置非切片地图服务以用作 JavaScript Viewer 的底图。 如果未启用 basemapGallery,则使用此配置。

  • type - 将此属性更新为自定义底图使用的非切片地图服务的类型。 受支持的类型包括动态和影像。
  • url - 将此属性更新为地图服务的 REST URL。
  • options.id - 将此属性更新为地图服务的 ID。
  • options.opacity - 指定地图服务的不透明度。
注:

其他属性配置可用。 请参阅相应的地图服务图层配置以了解更多选项。

几何服务

geometryServiceURL 参数更新为使用随 ArcGIS Server 安装的本地几何服务。 例如,http://[hostname].[domain]/arcgis/rest/services/Utilities/Geometry/GeometryServer

定位器服务

默认定位器服务已配置为使用 ArcGIS Online,并且在离线环境中不可用。 使用 locatorSources 参数提供您自己的适用于离线部署的定位器服务。

描述定位器服务
locatorSources

用于查找搜索结果的一系列自定义定位器源。

了解有关使用搜索微件自定义定位器源的详细信息

下载并部署 Font Awesome

JavaScript Viewer 使用 Font Awesome CDN。必须下载 Font Awesome 工具包并针对离线环境进行本地部署。

  1. 下载 Font Awesome 3.2.1 版本。
  2. 将文件夹解压缩,然后将其复制到 Web 应用程序的部署目录,例如 C:\Inetpub\wwwroot\wmviewer\font-awesome\ArcGIS\Portal\apps\workflow\font-awesome
  3. 在文本编辑器中打开部署的 index.html 文件。
  4. 替换 Font Awesome CDN 引用:

    替换以下内容:

    <link rel="stylesheet" type="text/css" href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css">

    使用:

    <link rel="stylesheet" type="text/css" href="//[hostname].[domain]/wmviewer/workflow/font-awesome/css/font-awesome.css">

    或者:

    <link rel="stylesheet" type="text/css" href="//[hostname].[domain]/portal/apps/workflow/font-awesome/css/font-awesome.css">