配置 Indoor Viewer 的启动操作

ArcGIS Enterprise (10.9.1)    |

可用于具有 Indoors 扩展模块许可的 ArcGIS 组织。

ArcGIS Indoors 包含直接从 Indoor Viewer 中的信息面板启动第三方应用程序操作的支持。 应用程序启动操作可用于将关键业务系统与 ArcGIS Indoors 集成。

可以将启动操作配置为打开 web 页面或本机移动应用程序,并将室内数据自动传递到目标系统或应用程序。这将允许用户针对 Viewer 中的选定要素提交事件或请求。 用户可以查看有关在 Viewer 中选择的要素的信息并使用 web 页面或移动应用程序将已更新的信息自动填充到表单字段。

现在可以通过以下方式为 Viewer 配置启动操作:

  • ArcGIS Pro 中使用配置 Indoors 启动操作窗格。 在 ArcGIS Pro 中配置的启动操作可以在应用程序配置过程中进行修改。
    注:

    配置应用程序面板中所做的修改仅影响 Viewer 应用程序中的启动操作。

  • 在创建或修改应用程序时,使用配置应用程序面板。在配置面板中,您可以修改在 ArcGIS Pro 中创建的启动操作或创建新的启动操作。

注:

Indoors 允许将图钉放置在建筑物外部的位置,例如校园园林或地面上。 如果将启动操作应用于配置面板中的所有图层,则这些已放置的图钉也会具有对其可用的操作。

使用配置面板配置启动操作

Viewer 应用程序配置期间,执行以下步骤以修改在 ArcGIS Pro 中创建的应用程序启动操作或新建操作。

  1. 配置应用程序面板中,导航到应用程序启动部分。
    注:

    如果您在 ArcGIS Pro 中配置了启动操作,则其将显示在应用程序启动部分中,并且可根据需要对其进行更新。

  2. 可以选择新建操作。
    1. 单击添加以添加新操作。
    2. 标注文本框中提供操作的名称。
    3. 操作的 URL 添加到 URL 文本框。
    4. 单击选择类别和图层,然后选中与该操作关联的图层和类别的复选框。

      默认情况下,所有图层和子类别都处于选中状态。

    5. 单击确定
    6. 针对任何附加操作,重复上述步骤。
  3. 单击要移除的任何启动操作旁边的移除按钮 移除
  4. 如有必要,可以使用向上和向下箭头对操作进行重新排序。
  5. 单击保存将更新保存到应用程序模板。

当您针对具有已配置启动操作的类别和图层中的要素单击信息面板中的更多按钮 更多 时,启动操作将显示在列表中。

URL syntax

Launch actions are enabled by URLs, and the syntax must follow common URL conventions. For example, special characters in the arguments must be URL encoded, and the argument or value pairs must be separated with standard URL conventions.

For Indoors, values must be contained in curly brackets and match the following syntax:

?arg={Layer.Attribute}&arg={Attribute}

注:

The layer is optional and, if not included, defaults to the active item in the Indoors app. Many use cases require passing attributes from a different layer in the map or scene. This is supported with the layer operator. Arguments and values are not case sensitive.

See the following samples:

Single value

?Name={KNOWNAS}&building={facility_name}&space={Units.Name}

Multiple values

?center={shape.y},{shape.x}

Value from another feature class

&site={FACILITIES.SITE_ID}

Pass value to a specific field

&field:room={units.name}

Supported argument and value formats

The launch action URL can support either passing a value with a generic argument (field={Units.UNIT_ID}) or pointing the value at a specific field in the Survey123 form (field:room={Units.Name}).

In addition, multiple arguments can be listed together, and you can add text between them.

Example

https://<MySurveyURL>?Name={knownas}&office=office%3A%20{units.NAME}&loc={shape.x},{shape.y},{shape.z}

Survey123 集成

Survey123 is included with your Indoors license. In the absence of any other supported work order or ticketing system, launch actions can be configured to use Survey123.

To customize the experience of the action button with Survey123, append valid argument or value pairs onto the URL.

When you create a survey in your ArcGIS Online organization, the URL to share the survey is shortened by default. To enable launch actions, you must use the full URL when appending arguments and pairs. To get the full URL for an existing survey, complete the following:

  1. In Survey123, click the My Surveys tab and click the survey for which you want to create a launch action.
  2. Click the Collaborate tab and click Share survey.
  3. Copy the shortened URL, paste it into a browser, and load the survey.

    The full URL appears in the address bar.

  4. Copy the full URL from the address bar.

You can now append arguments and pairs to this URL as necessary when configuring launch actions.

Example: Base URL for default behavior

https://survey123.arcgis.com/share/surveyformGUID?portalUrl=https://myportal.myorg.com/portal

Example: Custom

This example overrides the default room input with the name field from the Units layer.

https://survey123.arcgis.com/share/surveyformGUID?portalUrl=https://myportal.myorg.com/portal&field:room={Units.NAME}

Example: Launch the Survey123 native app on mobile devices

arcgis-survey123://?itemID=surveyformGUID&portalUrl=https://myportal.myorg.com/portal&field:comments={Units.NAME}

注:

Be careful when using URLs specific to native mobile apps when configuring launch actions for use in Viewer as these are not supported for desktop users. Using a native app's URL when defining launch actions should be limited to workflows supporting the native Indoors apps or Viewer accessed from a mobile browser.

Integration with third-party systems

The action button can also be configured to open a third-party URL and pass attribute values to it, provided that the third-party system supports URL configurable forms or parameters to drive actions upon launch. In this case, use a URL that calls the system in the Indoors app configuration with an appropriate URL for the integrated system. Some common uses are linking to third-party work order management systems or asset management systems.

Consider the following when working with third-party systems:

  • The field: operator may be different.
  • Web forms that support URL arguments may require additional configuration.
  • Consult the integrated system vendor for details on whether and how this works.

注:

In some cases, depending on the business system being used, some characters may not be supported, such as the # or + characters.

与工单管理系统集成

Indoors 支持启动外部资产和工作订单管理系统。 可以配置 Viewer 中信息面板上的操作按钮以打开要用于记录新信息(例如与空间、资产或 Indoors 中的其他项目相关联的事件或请求)的 web 表单或第三方本机应用程序,或者在单独的应用程序中打开现有工单。

Indoors supports passing work order and Indoors layer attributes as a query string in the URL. The syntax must follow the URL/URI schema for Indoors and work order app system to support launch actions.

The attribute value must be enclosed in curly brackets and match the following syntax:

?arg={Work order Attribute}&arg={Layer.Attribute}

The following are additional syntax samples:

Single value from work order layer

?arg={workorderid}

Multiple values from work order layer

?arg={workorderid}&arg={priority}

Value from work order and Indoors layer

?arg={workorderid}&arg={Layer.Attribute}

ServiceNow URL

The following sample passes the work order number as a parameter and opens an existing work order:

https://<MyServerURL>/nav_to.do?uri=task.do?sysparm_query=number={workorderid}

See more examples of configuring launch actions for ServiceNow.