启动外业应用程序

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

Windows 上的 Web 浏览器中的链接

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

注:

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

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

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

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

    注:

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

  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 表达式的 DomainCode 或 UrlEncode 函数来传递所需的值。

    重复中的问题无法填充。

iOS 或 Android 上其他应用程序中的链接

您可以创建一个链接,以在 ArcGIS 应用程序中用于打开 Survey123 并捕获调查中的数据。 以下步骤将介绍如何创建 Survey123 应用程序链接并在 Web 地图弹出窗口中使用该链接。 此链接将输入到 ArcGIS 组织 web 地图的弹出窗口中。 您可以在 iOS 或 Android 设备上使用 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(默认值)、edit、view 和 copy。 在以下参数中使用时,仅指定值有效:

  • center - collect
  • field:fieldname - collect
  • folder - edit、copy、view
  • filter - edit、copy、view
  • update - edit、copy、view
  • q:queryparameter - edit、copy、view

示例:

action=edit
action=view&filter=Heron&folder=inbox

字符串

folder

指定调查打开时要显示的文件夹。 支持的值包括 inbox、drafts、outbox、sent 和 *(概述文件夹)。

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

例如:

folder=inbox
folder=*&filter=lake

字符串

callback

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

示例:

callback=https://quickcapture.arcgis.app

URL

callback:status

指定激活回调时的调查状态。 状态支持的值为 cancel、draft、submit 和 close。 close 状态仅在 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

当与 folder=inbox 参数配合使用时,请刷新收件箱文件夹。 如果 URL 同时包含 update 和 filter,则将在更新后应用过滤器。 默认值为 false。

示例:

update=true&folder=inbox

布尔

q:queryparameter

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

例如:

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

字符串