您可以创建应用程序链接,以从其他应用程序、Web 地图弹出窗口或电子邮件或网站中的超链接打开 Survey123 外业应用程序。 使用自定义 URL 方案从 Web 浏览器启动应用程序,或使用 Survey123 应用程序链接从 Android 或 iOS 上的某个应用程序启动。 使用 URL 参数自定义外业应用程序的打开方式,例如加载某个特定调查、设置默认地图位置的坐标、使用特定值填充问题的答案或通过从 Web 地图弹出窗口传递数据属性来填充问题的答案。
Windows 上的 Web 浏览器中的链接
您可以创建链接来打开可嵌入到其他应用程序中的外业应用程序。 也可以在 web 浏览器中输入同一链接进行测试。
注:
创建链接后,可以将 arcgis-survey123:// 替换为 https://survey123.arcgis.app,以将其作为 Survey123 链接用于 iOS 或 Android。
以下步骤将介绍如何创建自定义 URL 方案并在桌面 web 浏览器中使用该 URL 方案。
- 在您的浏览器中输入 arcgis-survey123://。
Survey123 外业应用程序随即打开(或提示您将其打开)。
注:
要从特定门户启动和下载调查,请包含门户 URL 参数,例如 arcgis-survey123://?portalUrl=host.domain.com/webadaptor(其中 host、domain 和 webadaptor 替换为您的门户信息)。
- 添加调查的唯一索引,然后将其添加到 URL:
- 识别要打开的调查的项目 ID。
注:
这是 ArcGIS Online 用于唯一地标识调查的字符串,可以在 ArcGIS Online 中的表单项目 URL 中找到。 例如,如果调查 URL 为 https://exampleurl.maps.arcgis.com/home/item.html?id=36ff9e8c13e042a58cfce4ad87f55d19,则表单的项目 ID 为 36ff9e8c13e042a58cfce4ad87f55d19。
- 在 URL 中加入您的调查,方法是在 URL 的末尾添加 ?itemID= 和表单的项目 ID。
URL 应类似于以下示例:arcgis-survey123://?itemID=36ff9e8c13e042a58cfce4ad87f55d19
测试 URL 时,其应打开 Survey123 外业应用程序并立即打开调查。
注:
如果您的设备上没有调查,则需要将其下载到该设备上。
- 识别要打开的调查的项目 ID。
- 使用 XLSForm 中分配给字段的名称(而非其标注)在 URL 中添加对字段的引用,从而添加预先确定的问题答案。 例如,要填充 Surname 字段,请输入 &field:surname= 和值。
& 将用作参数分隔符,并且 field: 将引用要填充的问题名称。
URL 应类似于以下示例:arcgis-survey123://?itemID=36ff9e8c13e042a58cfce4ad87f55d19&field:surname=Klauser
您现在可以使用 URL 来打开 Survey123 外业应用程序和您的调查,然后使用已定义的答案来填充给定问题。 可以在一个调查 URL 中填充多个问题。 字段名称区分大小写。
- 通过在 URL 中添加坐标来为调查中的 geopoint 问题定义一个位置:
- 请键入 ¢er=,然后键入坐标。
- 输入十进制度纬度和经度坐标,并以逗号分隔。
- 可以选择添加高度(以十进制米为单位)作为第三个值,并用单个逗号进行分隔。
最后的 URL 应类似于以下示例:
arcgis-survey123://?itemID=36ff9e8c13e042a58cfce4ad87f55d19&field:surname=Klauser¢er=37.8199,-122.4783,20
现在,此 URL 将打开 Survey123 外业应用程序和所选调查、填充文本问题并为地理点问题提供新的默认位置。
还可以将字段属性从 ArcGIS Web 地图中的弹出窗口传递到 Survey123,支持其与在 Web 地图中使用弹出窗口的其他 Esri 应用程序相集成。 借助该功能,可以使用要素属性的值来填充 Survey123 中的字段,而非设置值,方法是提供用大括号括起来的属性名称。
- 打开 Web 地图,然后针对其中一个图层,选择弹出窗口。 选择 添加内容,然后选择文本。 为链接提供要显示的文本,然后单击链接按钮以输入链接 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 浏览器(步骤与先前部分类似)来测试此链接。
- 打开一个将在设备上查看的 Web 地图,然后针对其中一个图层,选择弹出窗口。
- 选择添加内容,然后选择文本。
- 输入 Launch Survey123,高亮显示此文本,然后单击链接按钮以输入链接 URL。 输入 https://survey123.arcgis.app,然后单击确定。
- 通过浏览器或 ArcGIS 应用程序,在移动设备上打开 Web 地图。
- 选择一个要素,然后在弹出窗口中单击启动 Survey123 链接以打开 Survey123。
- 要在 URL 中加入调查,请在 URL 的末尾添加 ?itemID= 和表单的项目 ID。 URL 应类似于以下示例:
https://survey123.arcgis.app?itemID=36ff9e8c13e042a58cfce4ad87f55d19
测试 URL 时,其应打开 Survey123 外业应用程序并立即打开调查。
注:
如果您的设备上没有调查,则需要将其下载到该设备上。
- 使用 XLSForm 中分配给字段的名称(而非其标注)在 URL 中添加对字段的引用,从而添加预先确定的问题答案。 例如,要填充 Surname 字段,请输入 &field:surname= 和值。
& 将用作参数分隔符,并且 field: 将引用要填充的问题名称。
URL 应类似于以下示例:https://survey123.arcgis.app?itemID=36ff9e8c13e042a58cfce4ad87f55d19&field:surname=Klauser
您现在可以使用 URL 来打开 Survey123 外业应用程序和调查,然后使用已定义的答案来填充给定问题。 可以在一个调查 URL 中填充多个问题。 字段名称区分大小写。
- 通过在 URL 中添加坐标来为调查中的 geopoint 问题定义一个位置:
- 请键入 ¢er=,然后键入坐标。
- 输入十进制度纬度和经度坐标,并以逗号分隔。
- 可以选择添加高度(以十进制米为单位)作为第三个值,并用单个逗号进行分隔。
最后的 URL 应类似于以下示例:
https://survey123.arcgis.app?itemID=36ff9e8c13e042a58cfce4ad87f55d19&field:surname=Klauser¢er=37.8199,-122.4783,20
现在,此完整 URL 将打开 Survey123 外业应用程序和所选调查、填充文本问题并为地理点问题提供新的默认位置。
用于启动外业应用程序的 URL 参数
以下参数可用于自定义打开外业应用程序的方式:
参数 | 描述 | 类型 |
---|---|---|
center | 将地图居中到已知纬度、经度和可选高度。 示例:
| 字符串 |
field:fieldname | 使用字段值填充调查问题。 示例:
| 字符串 |
portalUrl | 托管调查项目的门户的 URL。 示例:
| 字符串 |
itemID | 要打开的表单。 示例:
| UUID |
download | 当设备在线时自动下载调查。 默认为 true。 示例:
| 布尔 |
action | 指定打开调查的方式。 受支持的值为 collect(默认值)、edit、view 和 copy。 示例:
| 字符串 |
folder | 指定调查打开时要显示的文件夹。 支持的值包括 inbox、drafts、outbox、sent 和 *(概述文件夹)。 将 filter 参数添加到 URL 以过滤指定文件夹中的调查。 指定 folder=* 和 filter 参数以过滤所有文件夹中的调查,并将它们显示在概览文件夹中。 例如:
| 字符串 |
callback | 完成表单操作(例如,提交、移至草稿、取消或退出)时要返回到的 URL。 示例:
| URL |
callback:status | 指定激活回调时的调查状态。 状态支持的值为 cancel、draft、submit 和 close。 close 状态仅在 action=view 时可用。 示例:
| 字符串 |
filter | 筛选设备上与实例名称或特定字段中找到的字符串匹配的现有调查。 按默认设置过滤收件箱。 将 folder 参数添加到 URL 以过滤特定文件夹中的调查。 如已定义实例名称,需提供一个表示完整实例名称或实例名称子字符串的字符串。 以下示例展示了如何过滤完整实例名称为 Klauser 的所有记录,或草稿中实例名称中包含单词 lake 的所有记录。 例如: 如果未定义实例名称,或者要按不属于实例名称的字段进行过滤,请使用格式 filter=field:fieldname:fieldvalue 同时添加字段名称和字段值。 仅可以使用字段过滤完整的字段值。 以下示例展示了如何过滤水体类型为 River 或站点编号为 5171 的记录。 例如: | 字符串 |
update | 刷新收件箱内容,并尝试将调查提交至发件箱选项。 如果 URL 中同时包含 update 和 filter,则更新操作将在应用过滤器(在设备上的现有调查上执行)之前刷新文件夹内容。 默认为 false。 示例:
| 布尔 |
q:queryparameter | 查询要素图层以获取现有记录。 这用于检索设备上尚未存在的内容。 例如:
| 字符串 |