Использование параметров URL

Примечание:

Начиная с версии ArcGIS Experience Builder от февраля 2024 года, сохраненные разделители URL-адресов, которых нет в значениях параметров, должны быть в виде обычного текста и не могут быть закодированы. URL-адреса с кодированными разделителями, созданные до версии февраля 2024 года, больше не работают. Вы должны заменить их на обычный текст.

Experience Builder позволяет добавлять параметры URL в ваши приложения. Вы можете использовать параметры URL для улучшения интерфейса, задав URL-адресу языковой стандарт, перенаправив на определенную страницу, активировать предварительный просмотр печати и многое другое.

Параметры добавляются в конец строки URL и форматируются в виде пар ключ-значение, через знак равенства. Приложения Experience Builder поддерживают параметры, являющиеся строками и фрагментами запроса, то есть начинающиеся с вопросительного знака (?) или решетки (#). Чтобы включить несколько параметров, их необходимо разделять амперсандами (&). URL интерфейса с параметрами использует следующую структуру:

 https://<domain>/experience/<AppID>/[?<param1=value>&<param2=value>#<param3=value>...]

Ниже приведен пример:

https://experience.arcgis.com/experience/<AppId>?locale=fr#data_s=id%3AdataSource_3-World_Cities_8506%3A1

URL интерфейса также может содержать один или несколько параметров, приведенных ниже.

Внимание:

В этом разделе квадратные скобки ([]) указывают на то, что заключенные в них параметр или значение является необязательными. Не добавляйте квадратные скобки к URL.

Основные параметры

В подразделах ниже описаны общие параметры URL.

Переключение языка

Чтобы переключить язык приложения, используйте параметр locale и двухбуквенный код языка ISO 639-1. Experience Builder поддерживает те же языки, что и ArcGIS Online, включая следующие языковые коды: ar, bg, bs, ca, cs, da, de-at, de-de, de-ch, el, en-au, en-ca, en-gb, en-us, es-es, es-mx, et, fi, fr-fr, fr-ca, fr-ch, he, hr, hu, id, it-it, it-ch, ja, ko, lt, lv, nl, no, pl, pt-br, pt-pt, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-cn, zh-hk и zh-tw.

Для использования приложения Experience Builder на французском или швейцарском французском, вы можете добавить locale=fr к URL, как в следующих примерах:

https://experience.arcgis.com/experience/<AppId>/?locale=fr
https://experience.arcgis.com/experience/<AppId>/?locale=fr-ch
Примечание:

Если вы назначаете язык без уточненного идентификатора, например, fr а не fr-ch или fr-fr, возможно, формат даты или чисел не подойдет вам. Это связано с тем, что в разных регионах, где говорят на одном и том же языке, иногда используются разные обозначения дат и чисел, например, в Соединенных Штатах (en-us) и в Соединенном Королевстве (en-gb).

Определить веб-карту или веб-сцену

Чтобы отобразить карту или сцену в виджете Карта, используйте webmap или webscene с идентификатором элемента карты или сцены, как показано на следующих примерах:

https://experience.arcgis.com/builder/?webmap=<ItemID>
https://experience.arcgis.com/builder/?webscene=<ItemID>
https://experience.arcgis.com/builder/?webmap=3582b744bba84668b52a16b0b6942544

Перейти на страницу

Для перехода на конкретную страницу используйте page после имени страницы. В приложениях ArcGIS Online Experience Builder параметр page не являются частью строки запроса, и не начинаются с вопросительного знака. Он добавляется к пути URL, как в следующих примерах:

https://experience.arcgis.com/experience/<AppId>/page/Page-4
https://experience.arcgis.com/experience/<AppId>/page/{xxxHome}/

Перейти к блоку

Для перехода к конкретному блоку используйте block, а затем идентификатор блока blockID. Ниже приведен пример:

https://experience.arcgis.com/experience/<AppId>/?block_id=layout1_block1

Чтобы найти идентификатор блока blockID, вы можете установить ссылку на блок на кнопке, изображении или любом другом виджете, который поддерживает опцию Задать ссылку. Когда вы предварительно просматриваете приложение и нажимаете связанный виджет, в URL-адресе появляется идентификатор блока.

Перейти к виду

Чтобы перейти к определенному активному виду раздела, используйте views, за которым следует подпись вида, такая как v1 или View 1, как показано в следующих примерах:

https://experience.arcgis.com/experience/<AppId>/?views=View-2
https://experience.arcgis.com/experience/<AppId>/?views=v1

Открыть окно

Для обращения к конкретному активному окну используйте dlg, за которым следует ID или надпись окна, как показано в следующем примере:

https://experience.arcgis.com/experience/<AppId>/?dlg=Window-1

Фокус окна элементов управления

Чтобы встроить приложение Experience Builder с окнами приветствия или окнами страниц или фиксированными окнами без автоматического перехода приложения к этим окнам, вы можете используйте параметр disable_window_focus. Добавьте URL из приведенного ниже примера на веб-страницу хоста, чтобы отключить поведение перемещения. По умолчанию disable_window_focus имеет значение false.

https://experience.arcgis.com/experience/<AppId>/?disable_window_focus=true

Чтобы управлять фокусом для определенного окна, используйте dlg с последующим идентификатором окна или надписи и параметр disable_window_focus, как в следующем примере:

https://experience.arcgis.com/experience/<AppId>/?dlg=Window-1&disable_window_focus=true

Режим просмотра черновика

Каждый раз при предварительном просмотре приложения, параметр draft добавляется автоматически. Это позволяет вам получать доступ к ресурсам элементов для неопубликованных приложений. Ниже приведены примеры:

https://experience.arcgis.com/experience/<AppId>/?draft=true
https://experience.arcgis.com/experience/<AppId>/?draft=1

Открыть предварительный просмотр печати

Для активации режима предварительного просмотра печати используйте print_preview, как показано на следующих примерах:

https://experience.arcgis.com/experience/<AppId>/?print_preview=true
https://experience.arcgis.com/experience/<AppId>/?print_preview=1

Параметры, связанные с данными

В подразделах ниже описаны связанные с данными параметры URL.

Подсказка:

Вы можете получить ID источника данных, скопировав его из вкладки Данные.

Выбор данных

Чтобы выбрать записи данных, используйте параметр data_s, который следует за решеткой (#).

Каждый источник данных в приложении содержит собственный идентификатор (ID) источника данных. Если вы выбираете запись данных, идентификатор источника данных добавляется к URL приложения, а также тип выбора и условие выбора. Если у вас несколько выборок, они будут разделены запятыми (,). Ниже приведен пример:

https://experience.arcgis.com/experience/<AppId>/#data_s=<selection type>:<data source ID>:<selection condition>,<selection type>:<data source ID>:<selection condition>,...

Существует три типа выборок: id, geometry и where.

  • Если тип выборки id, вы выбираете объекты по их идентификаторам записей. Если вы выбираете несколько записей из одного и того же источника данных, идентификаторы записей разделяются знаком плюс (+). Ниже приведен пример:
    https://experience.arcgis.com/experience/<AppId>/#data_s=id:widget_1-dataSource_1-1871234a785-layer-2:1+2+3
  • Если тип выборки geometry, вы выбираете объекты на основе их местоположения относительно других объектов. Идентификаторы нескольких источников данных соединяются тильдами (~). Ниже приведен пример:
    https://experience.arcgis.com/experience/<AppId>/#data_s=geometry:widget_1-dataSource_1-1871234a785-layer-2~widget_1-dataSource_1-1871234a785-layer-3:<the geometry JSON>
  • Если тип выборки where, вы выбираете объекты на основе их атрибутов. Ниже приведен пример:
    https://experience.arcgis.com/experience/<AppId>/#data_s=where:widget_1-dataSource_1-1871234a785-layer-2:a>1

Вы можете использовать этот параметр для поиска ID источников данных слоя. Например, вы можете добавить виджет Список и подключить его к слою, просмотреть приложение и выбрать любую запись в списке. URL-адрес заполняется как указано в следующем примере:

https://experience.arcgis.com/experience/<AppID>/#data_s=id%3AdataSource_3-World_Cities_8506%3Axxxxxx

Значение после id%3A и перед %3Axxxx является идентификатором источника данных слоя (ID). Зная ID вы можете использовать его с другими параметрами, чтобы применять фильтры к источникам данных или изменять версии.

Примечание:

Если URL-адрес содержит параметр data_s и любой из параметров виджета Карта, то параметры виджета Карта имеют более высокий приоритет.

Примечание:

Experience Builder ранее использовал параметр ?data_id для выбора данных. Этот параметр в настоящее время ещё поддерживается, но вскоре станет устаревшим.

Фильтр источников данных

Чтобы напрямую использовать фильтр источника данных data_filter. Формат фильтра - стандартный синтаксис условия WHERE. Для применения фильтра к нескольким источникам данных используйте формат [<dsId:filter>,<dsId:filter>].

Внимание:

Некоторые фильтры могут содержать символы, которые являются сохраненными разделителями URL-адресов (например, "&", "=", "'" и "?"). Чтобы быть уверенными в правильной интерпретации значений URL-адресом, необходимо закодировать небезопасные символы URL-адресом, заменив их символом %, за которым будет идти значение, соответствующее их шестнадцатеричному эквиваленту UTF-8.

В следующей таблице перечислены основные символы, которые необходимо закодировать, если они содержатся в значениях параметров:

Небезопасный символЗакодированное значение

ПРОБЕЛ

%20

#

%23

%

%25

&

%26

'

%27

,

%2C

:

%3A

=

%3D

?

%3F

Примечание:

Вам нужно закодировать небезопасные символы только в значениях параметров. Если символ выполняет функцию разделителя URL-адресов, то есть не является значением параметра, он должен быть обычным текстом и не подлежит кодированию.

Ниже следует URL-адрес с незакодированным фильтром, который не будет правильно работать:

http://experience.arcgis.com/experience/<AppID>/?data_filter=dataSource_1:name='Even&Odd'

Следующий URL-адрес представляет собой правильно закодированную версию URL-адреса выше. Обратите внимание, что некоторые символы из приведенной выше таблицы не закодированы. Это потому, что они действуют как разделители URL-адресов.

http://experience.arcgis.com/experience/<AppID>/?data_filter=dataSource_1:name%3D%27Even%26Odd%27

Далее показан другой URL с кодированными параметрами фильтра (objectid=1 и fieldA>2):

https://experience.arcgis.com/experience/<AppId>/?data_filter=ds1:objectid%3D1,ds2:fieldA%3E2

Имена полей и псевдонимы полей

Некоторые поля имеют псевдонимы — альтернативные названия, которые часто более понятны пользователю, чем фактические имена полей. Псевдонимы подходят для отображения в виджетах Experience Builder и динамическом содержимом. Однако, в отличие от настоящих имен, псевдонимы не гарантируют уникальности. В параметрах URL-адреса необходимо использовать имена полей, а не псевдонимы. Имена полей можно найти в разделе URL-адреса сервиса слоя Поля в каталоге REST-сервисов.

Использование одинарных кавычек для строковых значений

При работе со строковыми полями (esriFieldTypeString) необходимо окружать каждое значение одинарными кавычками (', закодированными как %27). Ниже приведен пример URL-адреса, где значением является Australia:

https://experience.arcgis.com/experience/<AppId>/?data_filter=%3ACONTRYAFF%3D%27Australia%27

Изменение версии базы геоданных источника данных

Чтобы изменить версию базы геоданных источника данных, используйте data_version, как показано в следующих примерах:

https://experience.arcgis.com/experience/<AppId>/?data_version=<dsId:version>,<dsId:version>
https://experience.arcgis.com/experience/<AppId>/?data_version=dsId1:v1, dsID2:v1

Масштабирование или перемещение карты к выбранным объектам

Параметр zoom_to_selection можно использовать для масштабирования или перемещения всех виджетов Карта в приложении для выбранных объектов. Чтобы карты приближались к выбранным объектам, добавьте zoom_to_selection=true к URL-адресу. Чтобы карты перемещались к выбранным объектам, добавьте zoom_to_selection=false.

Параметр zoom_to_selection работает со всеми тремя типами выборки: id, geometry и where. Ниже приведены примеры:

https://experience.arcgis.com/experience/<AppId>/#data_s=id:<data source ID>:<OBJECTID>&zoom_to_selection=true
https://experience.arcgis.com/experience/<AppId>/#data_s=id%3AdataSource_1-csv_905%3A77&zoom_to_selection=true

Вы можете использовать настройки в разделе Управление статусом URL, чтобы этот параметр отображался в URL, когда пользователи выбирают данные.

Примечание:
Слои изображений поддерживают только выборку по id.

Параметры, связанные с виджетом

Вы можете использовать URL-адрес приложения, чтобы влиять на поведение виджета, добавляя параметры URL-адреса виджета. Хотя разные параметры встраиваются разными методами, они обычно придерживаются одного и того же синтаксиса. Ниже приведен пример:

https://experience.arcgis.com/experience/<AppId>#widget_1=param1:<value>,param2:<value>&widget_2=param1:<value>&...

Параметры виджета начинаются в URL-адресе с хэш-меток (#) и объединяются в цепочку с помощью амперсандов (&). Если у вас есть несколько параметров, влияющих на один и тот же виджет, они разделяются запятыми.

Некоторые значения могут содержать символы, которые являются сохраненными разделителями URL-адресов (например, "&", "=", "'" и "?"). Чтобы быть уверенными в правильной интерпретации значений URL-адресом, необходимо закодировать небезопасные символы URL-адресом, заменив их символом %, за которым будет идти значение, соответствующее их шестнадцатеричному эквиваленту UTF-8. Разделители URL-адресов вне значений параметров должны быть в виде обычного текста и не подлежат кодированию.

Например, параметр center в следующем примере не будет работать правильно, поскольку необходимо закодировать два символа запятой:

https://experience.arcgis.com/experience/<AppId>#map_1=center:-100,100,102100,rotation:45

Ниже приведена правильно написанная версия URL-адреса выше:

https://experience.arcgis.com/experience/<AppId>#map_1=center:-100%2C100%2C102100,rotation:45

Параметры виджета Фильтр

Следующий подраздел описывает параметры URL для виджета Фильтр. Можно использовать настройки в разделе Управление параметрами URL, чтобы эти параметры отображались в URL при применении фильтра пользователем. Параметры виджета Фильтр следуют за хэш-метками (#).

Применение фильтра

Чтобы отфильтровать источник данных с помощью виджета Фильтр, используйте параметр filters, после которого укажите дополнительную информацию об элементах фильтра (отдельных или групповых). Ниже приведен пример URL, демонстрирующий формат параметра filters:

https://experience.arcgis.com/experience/<AppID>#<filterWidgetID>=filters:[{item1},{item2},{item3},...]
Примечание:
На данный момент параметры URL виджета Фильтр не поддерживают пользовательские фильтры.

Ниже приведены примеры форматирования свойств элементов в параметрах URL:

  • Пример одиночного условия: {"name":<itemName>,"clauses":[{"index":2,"values":<clauseValue>},{"index":5,"values":<clauseValue>}]}
  • Пример одиночного условия с предопределенными уникальными значениями и пользовательскими подписями: {"name":<itemName>,"clauses":[{"index":3,"values":<clauseValue>,"label":<clauseLabel>}]}
  • Пример заданного условия: {"name":<itemName>,"clauses":[{"index":1,"clauses":[{"index":2,"values":<clauseValue>},{"index":5,"values":<clauseValue>}]}]}

Ниже приведены примеры URL-адресов с параметрами виджета Фильтр. Однако эти URL-адреса не закодированы и не дадут ожидаемого результата.

https://experience.arcgis.com/experience/<AppID>#<filterWidgetID>=filters:[{"name":"input","clauses":[{"index":1,"values":2}]}]
https://experience.arcgis.com/experience/<AppID>#<filterWidgetID>=filters:[{"name":"multiple","clauses":[{"index":1,"values":[1,2,3]}]}]
https://experience.arcgis.com/experience/<AppID>#<filterWidgetID>=filters:[{"name":"input","clauses":[{"index":1,"values":"a"}]}]
https://experience.arcgis.com/experience/<AppID>#<filterWidgetID>=filters:[{"name":"multiple","clauses":[{"index":1,"values":["a","b"]}]}]
https://experience.arcgis.com/experience/<AppID>#<filterWidgetID>=filters:[{"name":"My item 1","clauses":[{"index":1,"values":1,"label":"True"}]}]

Ниже приведен пример правильно закодированного URL-адреса:

https://experience.arcgis.com/experience/<AppID>#<filterWidgetID>=filters:%5B%7B"name"%3A"input"%2C"clauses"%3A%5B%7B"index"%3A1%2C"values"%3A2%7D%5D%7D%5D

Параметры виджета Карта

В подразделах ниже описаны связанные с картой параметры URL. Можно использовать настройки в разделе Управление статусом URL, чтобы эти параметры появлялись в URL-адресе, когда пользователь взаимодействует с виджетом Карта. Все параметры виджета Карта следуют за решетками (#).

Примечание:

Параметры виджета Карта center, scale и rotation работают только с веб-картами, а не с веб-сценами.

Определить веб-карту или веб-сцену при первой загрузке виджета Карта

Если виджет Карта содержит несколько веб-карт или веб-сцен, вы можете определить, какая из них активна при загрузке приложения, используя active_datasource_id, за которым следует идентификатор источника данных нужного элемента. Ниже приведены примеры:

https://experience.arcgis.com/experience/<AppId>#<mapWidgetID>=active_datasource_id:<dataSourceId>
https://experience.arcgis.com/experience/<AppId>#map_1=active_datasource_id:dataSource_4

Центрировать карту

Чтобы центрировать карту в определенном месте, используйте center, затем укажите нужные координаты и известный идентификатор данной системы координат (WKID). Ниже приведены примеры:

https://experience.arcgis.com/experience/<AppId>#<mapWidgetID>=center:<x,y,wkid>
https://experience.arcgis.com/experience/<AppId>#map_1=center:-10373125.398783844%2C4598516.55871741%2C102100

Определить масштаб карты

Чтобы определить масштаб карты, используйте scale, за которым следует значение масштаба. Ниже приведены примеры:

https://experience.arcgis.com/experience/<AppId>#<mapWidgetID>=scale:<scaleValue>
https://experience.arcgis.com/experience/<AppId>#map_1=scale:19257701.0800833

Задать уровень масштабирования карты

Чтобы задать уровень масштабирования карты, используйте параметр level, за которым следует значение уровня масштабирования. Ниже приведены примеры:

https://experience.arcgis.com/experience/<AppId>#<mapWidgetID>=level:<levelValue>
https://experience.arcgis.com/experience/<AppId>#map_1=level:12

Примечание:

Параметр level применяется только к веб-картам, не к веб-сценам. Параметр scale имеет более высокий приоритет, чем параметр level.

Определить поворот карты

Чтобы определить поворот карты, используйте параметр rotation, за которым следует значение градусов. Ниже приведены примеры:

https://experience.arcgis.com/experience/<AppId>#<mapWidgetID>=rotation:<rotationValue>
https://experience.arcgis.com/experience/<AppId>#map_1=rotation:45

Определение точки обзора карты

Чтобы определить параметр viewpoint, т.е. местоположение или положение камеры, с которого можно просматривать карту или сцену, используйте viewpoint. Если виджет Карта содержит несколько карт или сцен, параметр viewpoint влияет на все из них.

Точки обзора и их свойства обычно записываются в формате JSON, как в следующем примере:

 {
  "rotation": 0,
  "scale": 19966005.903731048,
  "targetGeometry": {
    "spatialReference": {
      "latestWkid": 3857,
      "wkid": 102100
    },
    "x": -9870655.016044471,
    "y": 4724533.527708739
  }
}

Чтобы определить конкретную точку обзора с помощью URL-адреса, вы должны закодировать все эти свойства, обычно записанные в формате JSON, в URL-адрес. Ниже приведен пример:

https://experience.arcgis.com/experience/<AppId>#map_1=viewpoint:%7B"rotation"%3A0%2C"scale"%3A24387741.012671936%2C"targetGeometry"%3A%7B"spatialReference"%3A%7B"latestWkid"%3A3857%2C"wkid"%3A102100%7D%2C"x"%3A-10078461.002935613%2C"y"%3A4523117.553838721%7D%7D

Примечание:
Параметры center, scale и rotation имеют более высокий приоритет, чем параметр viewpoint, и будут переопределять его, если вы используете несколько параметров, связанных с веб-картой.
Примечание:

Изменения экстента карты, вызванные действиями с сообщением, имеют более высокий приоритет, чем изменения экстента, вызванные параметрами URL. Например, если вы попытаетесь открыть виджет Карта с предустановленными экстентами, используя приведенные выше параметры URL-адреса, но при этом виджет Карта также настроен как цель триггера Изменения выборки записей и действий с сообщениями Переместить или Приблизить, то экстенты, связанные с действиями с сообщением заменяют экстенты, которые вы установили с помощью параметров URL-адреса.

Определить видимость слоев карты

Чтобы определить видимость слоя карты, используйте параметр layer_visibility.

Видимость слоя обычно записывается в формате JSON, как в следующем примере:

 {
  "widget_1-dataSource_1": {
    "widget_1-dataSource_1-187938b7328-layer-2": false
  },
  "widget_1-dataSource_4": {
    "widget_1-dataSource_4-18a690b433a-layer-4": false
  }
}

Чтобы сделать слои на карте видимыми или скрытыми с помощью URL-адреса, вы должны закодировать всю информацию в URL-адресе после параметра layer_visibility. Ниже приведен пример:

https://experience.arcgis.com/experience/<AppId>#map_1=layer_visibility:%7B%22widget_1-dataSource_1%22%3A%7B%22widget_1-dataSource_1-187938b7328-layer-2%22%3Afalse%7D%2C%22widget_1-dataSource_4%22%3A%7B%22widget_1-dataSource_4-18a690b433a-layer-4%22%3Afalse%7D%7D

Добавление маркера на карту

Чтобы добавить отдельный маркер на карту, используйте marker:<x>,<y>. Маркер появится на карте в указанном местоположении x и y. Вы также можете настроить следующие необязательные параметры:

Свойства должны отображаться в указанном выше порядке, как, например, в следующем примере:

https://experience.arcgis.com/experience/<AppId>#<mapWidgetID>=marker:<x>,<y>;<wkid>;<title>;<label>;<symbol>

Вы должны использовать пустые значения, если хотите задать одни свойства, но не другие. Например, если вы хотите задать только надпись и не задавать необязательные параметры, добавьте символ последним параметром, а для остальных параметров используйте пустое значение (<x>,<y>;;;;<symbol>).

Примечание:

Вы должны закодировать сохраненные символы-разделители URL в значениях заголовка, значка и надписи.

В следующем примере единственными заданными параметрами являются координаты x и y:

https://experience.arcgis.com/experience/<AppId>#widget_1=marker:120%2C40
В следующем примере параметр содержит надпись маркера, но не содержит системы координат или заголовка:
https://experience.arcgis.com/experience/<AppId>#widget_1=marker:120%2C40%3B%3BmarkerLabel
В следующем примере URL-адрес задает символ изображения маркера:
https://experiencedev.arcgis.com/experience/<AppId>#widget_1=marker:120%2C40%3B%3B%3BmarkerLabel%3B%7B%22type%22%3A%22esriPMS%22%2C%22url%22%3A%22https%3A%2F%2Fstatic.arcgis.com%2Fimages%2FSymbols%2FShapes%2FBlackStarLargeB.png%22%2C%22width%22%3A36%2C%22height%22%3A36%7D

Чтобы добавить на карту сразу несколько маркеров с разными свойствами, вы можете использовать сложный формат параметра marker, в котором применяется формат JSON. Вы можете добавлять маркеры в группы, где маркеры в одной группе имеют один и тот же символ. В следующем примере два маркера используют symbol2:

https://experience.arcgis.com/experience/<AppId>#<mapWidgetID>=marker:
[
    {
        "wkid": <wkid>,
        "symbol": symbol1,
        "points": [
            {
                "coordinates": [<x1_1>, <y1_1>
                ],
                "title": "<title1_1>",
                "label": "<label1_1>"
            }
        ]
    },
    {
        "wkid": <wkid2>,
        "symbol": symbol2,
        "points": [
            {
                "coordinates": [<x2_1>, <y2_1>
                ],
                "title": "<title2_1>",
                "label": "<label2_1>"
            },
            {
                "coordinates": [<x2_2>, <y2_2>
                ],
                "title": "<title2_2>",
                "label": "<label2_2>"
            }
        ]
    }
]

Ниже приведен пример URL-адреса сложного формата, который создает маркеры с разными символами:

https://experience.arcgis.com/experience/<AppId>#widget_1=marker:%5B%7B%22wkid%22%3A102100%2C%22points%22%3A%5B%7B%22coordinates%22%3A%5B-10380722.0395%2C4910537.835900001%5D%2C%22title%22%3A%22male%22%7D%5D%2C%22symbol%22%3A%7B%22type%22%3A%22esriSMS%22%2C%22color%22%3A%5B4%2C149%2C70%2C255%5D%2C%22angle%22%3A0%2C%22xoffset%22%3A0%2C%22yoffset%22%3A0%2C%22size%22%3A18%2C%22style%22%3A%22esriSMSCircle%22%2C%22outline%22%3A%7B%22type%22%3A%22esriSLS%22%2C%22color%22%3A%5B4%2C149%2C70%2C255%5D%2C%22width%22%3A1%2C%22style%22%3A%22esriSLSSolid%22%7D%7D%7D%2C%7B%22wkid%22%3A102100%2C%22points%22%3A%5B%7B%22coordinates%22%3A%5B-10354173.0246%2C4896805.586800002%5D%2C%22title%22%3A%22male%22%7D%5D%2C%22symbol%22%3A%7B%22type%22%3A%22esriSMS%22%2C%22color%22%3A%5B181%2C73%2C0%2C255%5D%2C%22angle%22%3A0%2C%22xoffset%22%3A0%2C%22yoffset%22%3A0%2C%22size%22%3A18%2C%22style%22%3A%22esriSMSDiamond%22%2C%22outline%22%3A%7B%22type%22%3A%22esriSLS%22%2C%22color%22%3A%5B181%2C73%2C0%2C255%5D%2C%22width%22%3A1%2C%22style%22%3A%22esriSLSSolid%22%7D%7D%7D%5D

Параметры виджета Поиск

В подразделах ниже описаны связанные с поиском параметры URL. Можно использовать настройки в разделе Управление статусом URL, чтобы эти параметры появлялись в URL-адресе, когда пользователь выполняет поиск. Параметры виджета поиска следуют за хэш-метками (#).

Показать вводимые данные поиска

Параметр text показывает, какой текст ввел пользователь для выполнения поиска. Далее представлен пример URL с параметром text:

https://experience.arcgis.com/experience/<AppId>#<searchWidgetID>=text:<text>

Показать источник поиска

Когда пользователь выполняет поиск, используя только некоторые из доступных источников поиска, в URL-адресе появляется один из двух следующих параметров:

  • Если хотя бы один источник поиска не отмечен в раскрывающемся меню виджета во время запуска, появляется параметр enabledList, определяющий, какие источники поиска отмечены. Этот параметр скрыт, когда отмечены все источники поиска. Ниже приведен пример закодированного URL-адреса:
    https://experience.arcgis.com/experience/<AppId>#<searchWidgetID>=search_status:%7B"enabledList"%3A%5B"<SourceID1>"%2C"<SourceID2>"%5D%7D
  • Если пользователь нажимает на предложение поиска, чтобы применить поиск, появляется параметр "status":{"configId":"<SourceID>"}, определяющий уникальный источник поиска, используемый в текущем поиске. В URL-адресе появляются как вводимые данные поиска, так и источник поиска. Ниже приведен пример закодированного URL-адреса:
    https://experience.arcgis.com/experience/<AppId>#<searchWidgetID>=search_status:%7B"text"%3A"<text>"%2C"status"%3A%7B"configId"%3A"<SourceID>"%7D%7D

Если пользователь нажимает на предложение поиска из источника локатора, в URL-адресе отображается magicKey, связанная с этим предложением. magicKey - это уникальный идентификатор, который связывает предположение конкретным адресом или местом. Ниже приведен пример свойств и параметров поиска, записанных в формате JSON:

{
	"text": "<text>",
	"status":{
		"configId": "<SourceID>",
		"magicKey": "<key>"
	}
}

Ниже приведен пример тех же свойств и параметров, что и выше, записанных в закодированном URL-адресе:

https://experience.arcgis.com/experience/<AppId>#<searchWidgetID>=search_status:%7B"text"%3A"<text>"%2C"status"%3A%7B"configId"%3A"<SourceID>"%2C"magicKey"%3A"<key>"%7D%7D

Параметры, связанные с именем пользователя

В подразделах ниже описаны связанные с именем пользователя параметры URL.

Доступ к аутентификации через виджет Встроить

Некоторые веб-приложения предлагают пользователям войти в систему с учетной записью ArcGIS. Приложению может потребоваться, чтобы пользователи выполнили вход в систему из-за его настроек общего доступа, поскольку приложение включает виджеты, использующие премиум ресурсы, или по другим причинам.

Чтобы встроить веб-приложение ArcGIS в приложение Experience Builder и обязать пользователей выполнять вход в систему, вы можете добавить параметры URL arcgis-auth-origin и arcgis-auth-portal, чтобы совместно использовать аутентификацию между обоими приложениями, а пользователям нужно было входить только один раз.

Чтобы встроить частное приложение Experience Builder в другое приложение Experience Builder, используйте ?arcgis-auth-origin= для определения URL-адреса домена хост-приложения для аутентификации. Ниже приведен пример:

https://<orgdomain>/experience/<AppID>/?arcgis-auth-origin=<your host app domain, such as https://localhost:3001>

Чтобы встроить приложение на основе JavaScript API, например, приложение Web AppBuilder , используйте ?arcgis-auth-origin= для проверки подлинности домена хост-приложения и ?arcgis-auth-portal= для JavaScript для портала ArcGIS, с которого требуется проверка подлинности приложения на основе JavaScript API. Ниже приведены примеры:

https://<orgdomain>/apps/webappviewer/index.html?id=<appID>&arcgis-auth-origin=<your host app domain, such as https://localhost:3001>&arcgis-auth-portal=<orgA URL>
https://www.arcgis.com/apps/dashboards/index.html#/<appID>?arcgis-auth-origin=https://experience.arcgis.com&arcgis-auth-portal=https://<myorg>.maps.arcgis.com

Безопасность и аутентификация

ArcGIS использует аутентификацию на основе токенов для всех запросов на доступ. Токены доступа содержат информацию, определяющую права доступа приложений и связанной с ними учетной записи ArcGIS. Токены доступа включаются в запросы на предоставление авторизации для защищенных ресурсов, включая запросы между приложениями Experience Builder и другими приложениями на обмен учетными данными для входа.

При встраивании приложения Experience Builder в другое приложение ArcGIS с параметром arcgis-auth-origin приложение Experience Builder запрашивает токен доступа у родительского приложения. Родительское приложение определяет, нужно ли отвечать на токен.

При встраивании другого приложения в приложение Experience Builder родительское приложение Experience Builder отвечает на запрос токена только в том случае, если дочернее приложение находится в каком-то из следующих доменов:

  • *.arcgis.com
  • Тот же домен, что и родительское приложение Experience Builder

Переход пользователей на страницу входа в организацию

Как правило, если пользователи пробуют получить доступ к персональному приложению Experience Builder на ArcGIS Online, они перенаправляются на основную страницу входа ArcGIS Online. Чтобы вместо этого направлять пользователей на страницу входа вашей организации, используйте org, за которым следует краткое имя вашей организации, как показано в следующем примере:

https://experience.arcgis.com/experience/<AppId>/?org=<yourorgshortname>