启动外业应用程序

您可以创建应用程序链接,以从其他应用程序、Web 地图弹出窗口或电子邮件或网站中的超链接打开 Survey123 外业应用程序。 使用自定义 URL 方案从 Web 浏览器启动应用程序,或使用 Survey123 应用程序链接从 AndroidiOS 上的某个应用程序启动。 使用 URL 参数自定义外业应用程序的打开方式,例如加载某个特定调查、设置默认地图位置的坐标、使用特定值填充问题的答案或通过从 Web 地图弹出窗口传递数据属性来填充问题的答案。

Windows 上的 Web 浏览器中的链接

您可以创建链接来打开可嵌入到其他应用程序中的外业应用程序。 也可以在 web 浏览器中输入同一链接进行测试。

注:

创建链接后,可以将 arcgis-survey123:// 替换为 https://survey123.arcgis.app,以将其作为 Survey123 链接用于 iOSAndroid

以下步骤将介绍如何创建自定义 URL 方案并在桌面 web 浏览器中使用该 URL 方案。

  1. 在您的浏览器中输入 arcgis-survey123://

    Survey123 外业应用程序随即打开(或提示您将其打开)。

    注:

    要从特定门户启动和下载调查,请包含门户 URL 参数,例如 arcgis-survey123://?portalUrl=host.domain.com/webadaptor(其中 hostdomainwebadaptor 替换为您的门户信息)。

  2. 添加调查的唯一索引,然后将其添加到 URL:
    1. 识别要打开的调查的项目 ID。
      注:

      这是 ArcGIS Online 用于唯一地标识调查的字符串,可以在 ArcGIS Online 中的表单项目 URL 中找到。 例如,如果调查 URL 为 https://exampleurl.maps.arcgis.com/home/item.html?id=36ff9e8c13e042a58cfce4ad87f55d19,则表单的项目 ID 为 36ff9e8c13e042a58cfce4ad87f55d19

    2. 在 URL 中加入您的调查,方法是在 URL 的末尾添加 ?itemID= 和表单的项目 ID。
    URL 应类似于以下示例:
    arcgis-survey123://?itemID=36ff9e8c13e042a58cfce4ad87f55d19

    测试 URL 时,其应打开 Survey123 外业应用程序并立即打开调查。

    注:

    如果您的设备上没有调查,则需要将其下载到该设备上。

  3. 使用 XLSForm 中分配给字段的名称(而非其标注)在 URL 中添加对字段的引用,从而添加预先确定的问题答案。 例如,要填充 Surname 字段,请输入 &field:surname= 和值。

    & 将用作参数分隔符,并且 field: 将引用要填充的问题名称。

    URL 应类似于以下示例:
    arcgis-survey123://?itemID=36ff9e8c13e042a58cfce4ad87f55d19&field:surname=Klauser

    您现在可以使用 URL 来打开 Survey123 外业应用程序和您的调查,然后使用已定义的答案来填充给定问题。 可以在一个调查 URL 中填充多个问题。 字段名称区分大小写。

  4. 通过在 URL 中添加坐标来为调查中的 geopoint 问题定义一个位置:
    • 请键入 &center=,然后键入坐标。
    • 输入十进制度纬度和经度坐标,并以逗号分隔。
    • 可以选择添加高度(以十进制米为单位)作为第三个值,并用单个逗号进行分隔。

    最后的 URL 应类似于以下示例:

    arcgis-survey123://?itemID=36ff9e8c13e042a58cfce4ad87f55d19&field:surname=Klauser&center=37.8199,-122.4783,20

    现在,此 URL 将打开 Survey123 外业应用程序和所选调查、填充文本问题并为地理点问题提供新的默认位置。

    还可以将字段属性从 ArcGIS Web 地图中的弹出窗口传递到 Survey123,支持其与在 Web 地图中使用弹出窗口的其他 Esri 应用程序相集成。 借助该功能,可以使用要素属性的值来填充 Survey123 中的字段,而非设置值,方法是提供用大括号括起来的属性名称。

  5. 打开 Web 地图,然后针对其中一个图层,选择弹出窗口。 选择 添加内容,然后选择文本。 为链接提供要显示的文本,然后单击链接按钮以输入链接 URL 值。

    在弹出窗口中设置 URL 方案的链接。

    此 URL 将使用所选要素的名称属性的内容(而非设置值)来填充 surname 字段:

    arcgis-survey123://?itemID=36ff9e8c13e042a58cfce4ad87f55d19&field:surname={name}

    此 URL 将使用所选消火栓的全局 ID 来填充 hydrantGlobalID 字段:

    arcgis-survey123://?itemID=36ff9e8c13e042a58cfce4ad87f55d19&field:hydrantGlobalID={globalid}

    注:

    默认情况下,如果相应选择的名称和标注相同,则只能将值传递到单项选择或多项选择问题。 如果选择列表中的名称和标注不同,则可以使用弹出窗口中 ArcGIS Arcade 表达式的 DomainCodeUrlEncode 函数来传递所需的值。

    重复中的问题无法填充。

iOSAndroid 上其他应用程序中的链接

您可以创建一个链接,以在 ArcGIS 应用程序中用于打开 Survey123 并捕获调查中的数据。 以下步骤将介绍如何创建 Survey123 应用程序链接并在 Web 地图弹出窗口中使用该链接。 此链接将输入到 ArcGIS 组织 web 地图的弹出窗口中。 您可以在 iOSAndroid 设备上使用 Web 浏览器(步骤与先前部分类似)来测试此链接。

  1. 打开一个将在设备上查看的 Web 地图,然后针对其中一个图层,选择弹出窗口
  2. 选择添加内容,然后选择文本
  3. 输入 Launch Survey123,高亮显示此文本,然后单击链接按钮以输入链接 URL。 输入 https://survey123.arcgis.app,然后单击确定
    1. 通过浏览器或 ArcGIS 应用程序,在移动设备上打开 Web 地图。
    2. 选择一个要素,然后在弹出窗口中单击启动 Survey123 链接以打开 Survey123
  4. 要在 URL 中加入调查,请在 URL 的末尾添加 ?itemID= 和表单的项目 ID。
    URL 应类似于以下示例:
    https://survey123.arcgis.app?itemID=36ff9e8c13e042a58cfce4ad87f55d19

    测试 URL 时,其应打开 Survey123 外业应用程序并立即打开调查。

    注:

    如果您的设备上没有调查,则需要将其下载到该设备上。

  5. 使用 XLSForm 中分配给字段的名称(而非其标注)在 URL 中添加对字段的引用,从而添加预先确定的问题答案。 例如,要填充 Surname 字段,请输入 &field:surname= 和值。

    & 将用作参数分隔符,并且 field: 将引用要填充的问题名称。

    URL 应类似于以下示例:
    https://survey123.arcgis.app?itemID=36ff9e8c13e042a58cfce4ad87f55d19&field:surname=Klauser

    您现在可以使用 URL 来打开 Survey123 外业应用程序和调查,然后使用已定义的答案来填充给定问题。 可以在一个调查 URL 中填充多个问题。 字段名称区分大小写。

  6. 通过在 URL 中添加坐标来为调查中的 geopoint 问题定义一个位置:
    • 请键入 &center=,然后键入坐标。
    • 输入十进制度纬度和经度坐标,并以逗号分隔。
    • 可以选择添加高度(以十进制米为单位)作为第三个值,并用单个逗号进行分隔。

    最后的 URL 应类似于以下示例:

    https://survey123.arcgis.app?itemID=36ff9e8c13e042a58cfce4ad87f55d19&field:surname=Klauser&center=37.8199,-122.4783,20

    现在,此完整 URL 将打开 Survey123 外业应用程序和所选调查、填充文本问题并为地理点问题提供新的默认位置。

用于启动外业应用程序的 URL 参数

以下参数可用于自定义打开外业应用程序的方式:

参数描述类型

center

将地图居中到已知纬度、经度和可选高度。

示例:

center=37.8199,-122.4783,20

字符串

field:fieldname

使用字段值填充调查问题。

示例:

field:surname=Klauser

字符串

portalUrl

托管调查项目的门户的 URL。

示例:

portalUrl=https://myorg.arcgis.com

字符串

itemID

要打开的表单。

示例:

itemID=36ff9e8c13e042a58cfce4ad87f55d19

UUID

download

当设备在线时自动下载调查。 默认为 true

示例:

download=false

布尔

action

指定打开调查的方式。 受支持的值为 collect(默认值)、editviewcopy

示例:

action=edit

字符串

folder

指定调查打开时要显示的文件夹。 支持的值包括 inboxdraftsoutboxsent*(概述文件夹)。

filter 参数添加到 URL 以过滤指定文件夹中的调查。 指定 folder=*filter 参数以过滤所有文件夹中的调查,并将它们显示在概览文件夹中。

例如:

folder=inbox
folder=*&filter=lake

字符串

callback

完成表单操作(例如,提交、移至草稿、取消或退出)时要返回到的 URL。

示例:

callback=https://quickcapture.arcgis.app

URL

callback:status

指定激活回调时的调查状态。 状态支持的值为 canceldraftsubmitcloseclose 状态仅在 action=view 时可用。

示例:

callback:draft=https://quickcapture.arcgis.app

字符串

filter

筛选设备上与实例名称或特定字段中找到的字符串匹配的现有调查。 按默认设置过滤收件箱。 将 folder 参数添加到 URL 以过滤特定文件夹中的调查。

如已定义实例名称,需提供一个表示完整实例名称或实例名称子字符串的字符串。 以下示例展示了如何过滤完整实例名称为 Klauser 的所有记录,或草稿中实例名称中包含单词 lake 的所有记录。

例如:

filter=Klauser
filter=lake&folder=drafts

如果未定义实例名称,或者要按不属于实例名称的字段进行过滤,请使用格式 filter=field:fieldname:fieldvalue 同时添加字段名称和字段值。 仅可以使用字段过滤完整的字段值。 以下示例展示了如何过滤水体类型为 River 或站点编号为 5171 的记录。

例如:

filter=field:waterbodytype:River
filter=field:ws_stationnumber:5171

字符串

update

刷新收件箱内容,并尝试将调查提交至发件箱选项。 如果 URL 中同时包含 updatefilter,则更新操作将在应用过滤器(在设备上的现有调查上执行)之前刷新文件夹内容。 默认为 false

示例:

update=false

布尔

q:queryparameter

查询要素图层以获取现有记录。 这用于检索设备上尚未存在的内容。

例如:

q:where=ws_stationnumber=5171
q:where=waterbodytype='Lake'
q:globalId=1d392670-33e2-456d-8435-7fad3abd8bb9

字符串