Skip To Content

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

Приложения, созданные с помощью Web AppBuilder, можно изменять, используя параметры URL. URL-адрес всегда начинается с <your portal url>/apps/webappviewer/index.html? и включает один или несколько перечисленных ниже параметров. Чтобы включить более одного параметра, используйте знак амперсанта (&) для разделения параметров. Ниже приведен пример:

http://<your portal url>/apps/webappviewer/index.html?id=6815e148ff1c4aee8dc7159816380a4d&webmap=9cf053ea602345ddae060010c470e615
Подсказка:

Теперь есть более простой способ конструировать параметры URL. Добавьте в приложение виджет Опубликовать и щелкните Опции ссылки. Предварительный просмотр ссылки отображает выбранные вами параметры, короткая ссылка с параметрами URL генерируется для вас автоматически. Имейте в виду, что виджет Поиск должен быть включен в приложении, чтобы использовать параметр find.

Примечание:

В настоящее время 3D-приложения не поддерживают параметры URL.

Кодирование параметров запроса

Все параметры запроса должны быть закодированы. Кодировка заменяет некорректные символы знаком %, за которым следует их шестнадцатеричный эквивалент.

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

http://<your portal url>/apps/webappviewer/index.html?find=380 new york street, redlands, ca

А так выглядит тот же параметр после кодирования:

http://<your portal url>/apps/webappviewer/index.html?find=380%20new%20york%20street,%20redlands,%20ca

В Интернет вы можете найти множество бесплатных сайтов и инструментов для создания закодированных адресов URL. Например, на сайте Albion Research Ltd. имеются страницы URLEncode и URLDecode. Для удобства чтения, остальные примеры в данном разделе не закодированы.

Открытие сохраненного приложения

Чтобы открыть сохраненное приложение, которое было создано с помощью Web AppBuilder, необходимо использовать id= и уникальный ID этого приложения, как показано в следующем примере:

http://<your portal url>/apps/webappviewer/index.html?id=6815e148ff1c4aee8dc7159816380a4d

Определение веб-карты

Чтобы определить веб-карту, используйте webmap= и уникальный ID этой веб-карты, как показано в следующем примере:

http://<your portal url>/apps/webappviewer/index.html?webmap=9cf053ea602345ddae060010c470e615

Центрирование карты

Чтобы центрировать карту в определенном месте, установите center=, используя географические координаты (x,y) или координаты проекции (x,y,WKID).

Внимание:

В качестве разделителей вы можете использовать запятые или точки с запятой. Используйте точки с запятой, если для десятичных разделителей в ваших числах используется двоеточие.

Ниже приведен пример географических координат:

http://<your portal url>/apps/webappviewer/index.html?center=34,-50

Ниже приведен пример координат проекции:

http://<your portal url>/apps/webappviewer/index.html?center=500000,5500000,102100

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

Чтобы задать масштаб карты, используйте параметры center= и level=. Параметр level принимает ID масштаба кэширования, который указывается в конечной точке REST картографического сервиса. Ниже приведен пример:

http://<your portal url>/apps/webappviewer/index.html?center=20,45&level=4

Указание масштаба

Чтобы задать масштаб карты, используйте параметры center= и scale=. Параметр scale принимает масштаб кэширования, который указывается в конечной точке REST картографического сервиса. Ниже приведен пример:

http://<your portal url>/apps/webappviewer/index.html?center=20,45&scale=4622324

Определение экстента

Используйте extent= для задания экстента карты. Параметр extent допускает географические координаты (GCS) MinX,MinY,MaxX,MaxY, прогнозируемые координаты (PCS) MinX,MinY,MaxX,MaxY,WKID или координаты в тексовом формате Well-Known Text String (WKT) MinX,MinY,MaxX,MaxY,WKT. В качестве разделителей вы можете использовать запятые или точки с запятой. Используйте точки с запятой, если для десятичных разделителей в ваших числах используется двоеточие.

Ниже приведен пример географических координат:

http://<your portal url>/apps/webappviewer/index.html?extent=-117.20,34.055,-117.19,34.06

Ниже приведен пример координат проекции:

http://<your portal url>/apps/webappviewer/index.html?extent=-13079253.954115,3959110.38566837,-12918205.318785,4086639.70193162,102113

Ниже приводится пример формата Well-Known Text String (WKT):

http://<your portal url>/apps/webappviewer/index.html?extent=1008562.1255,1847133.031,1060087.7901,1877230.7859,wkt=PROJCS["NAD_1983_HARN_StatePlane_Illinois_East_FIPS_1201",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]]

Поиск местоположения или объекта для открытия карты

Чтобы найти местоположение или объект, использующиеся для открытия карты, примените find=. Карта автоматически масштабируется до ближайшего совпадения, кроме того, к ней добавляется маркер выноски. Параметр find принимает однострочные адреса, частичные адреса (только город или только страна), названия мест, координаты широты-долготы и объекты в слоях с возможностью поиска (такие как 1916352001 в качестве Parcel Identification Number (PIN)). Ниже приведен пример:

http://<your portal url>/apps/webappviewer/index.html?find=380 new york street, redlands, ca
Внимание:

Все параметры запроса должны быть закодированы, чтобы использовать этот параметр, виджет Поиск должен быть включен в приложении.

Добавить точку

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

  • <wkid> – пространственная привязка координат x,y добавленной на карту точки. Если вы не укажете WKID, то будут использоваться координаты географической системы координат (GCS).
  • <encoded title> – заголовок всплывающего окна точки. Если вы не укажете заголовок, то всплывающее окно будет пустым.
  • <encoded icon URL> – символ точки. Если вы не укажете символ, то используется символ синего маркера.
  • <encoded label> – надпись рядом с символом точки.

Следует учитывать следующее:

  • <x>,<y> являются обязательными.
  • Обязательно используйте параметры заголовок, значок и надпись.
  • Необходимо добавлять параметры в следующем порядке: marker=<x>,<y>,<wkid>,<encoded title>,<encoded icon URL>,<encoded label>.
  • В качестве разделителей вы можете использовать запятые или точки с запятой. Используйте точки с запятой, если для десятичных разделителей в ваших числах используется двоеточие.
  • Использование пустых значений. Не используйте пробелы. Например, если вы хотите указать из необязательных параметров только надпись, то добавьте надпись шестым по счету параметром, а для остальных параметров используйте пустое значение (x;y;;;;label).
  • Если вы хотите отобразить карту в определенном масштабе (помимо центрирования в точке), то включите также параметр level=.

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

http://<your portal url>/apps/webappviewer/index.html?marker=-79.234826;38.147884;;Race start and finish;;Grindstone 100 Ultra Marathon&level=7

Запрос объекта

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

  • query=<layer name>,<field name>,<field value>
  • query=<layer name>, <where clause>
  • query=<layer id>,<field name>,<field value>
  • query=<layer id>, <where clause>
Подсказка:

Теперь есть интерактивный способ конструировать параметры URL. Добавьте в приложение виджет Опубликовать и щелкните Опции ссылки. Выберите опцию Создайте запрос объекта и приблизьтесь к нему и выберите слой, поле и значение поля, к которому вы хотите снова выполнить запрос. Скопируйте URL в окне Предварительный просмотр ссылки где находятся заданный вами параметры URL. Удалите виджет Опубликовать из приложения, если он не нужен.

Внимание:

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

Условие where соответствует стандарту SQL. Если условие where содержит, к примеру, операцию IN, используйте для разделения имени или id слоя из условия where точку с запятой вместо запятых, как показано ниже. Причина в том, что запятая используется в условии where специально для построения списка таких значений, как ('A11', 'A12', 'A13) или ('Charlotte', 'Chicago'). Это позволяет правильно проанализировать параметр запроса, чтобы отличить условие layer от where.

  • query=<layer name>; <where clause>
  • query=<layer id>; <where clause>

Поскольку имя слоя может быть изменено, настоятельно рекомендуется использовать в запросе ID слоя. Можно получить ID слоя из ID веб-карты как показано ниже: http://<your portal url>/sharing/rest/content/items/32a83775654249dcae6b8f2eff5d4072/data/?f=pjson

Внимание:

Убедитесь, что веб-карта опубликована для общего доступа при получении ID слоя

Например, слой добавляется на карту в отдельности, как показано ниже в формате JSON. ID слоя – Census_8491, имя поля – POP2000, а значение – 1211537. Вы можете выполнить следующие запросы:

id: "Census_8491",
layerType: "ArcGISFeatureLayer",
url: "http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3",
visibility: true,
opacity: 1,
mode: 1,
title: "Census - states",

http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&query=Census_8491,POP2000,1211537
http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&query=Census_8491,POP2000=1211537

Вы можете также выполнить запрос к текстовому полю или полю ObjectID.

http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&query=Census_8491,STATE_NAME,California
http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&query=Census_8491,STATE_NAME='California'
http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&query=Census_8491,OBJECTID,1

Часто слой добавляется как группа картографического сервиса. Для выполнения запроса к подслою группы используйте <layer id_sublayer id> в качестве ID слоя. При использовании следующего слоя в качестве примера, его ID будет Census_3217, а ID подслоя – 3. ID слоя для подслоя будет Census_3217_3. Вы можете выполнить следующие запросы:

id: "Census_3217", layerType: "ArcGISMapServiceLayer", url: "http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer", visibility: true, opacity: 1,
title: "Census"

http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&query=Census_3217_3,POP2000,1211537
http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&query=Census_3217_3,POP2000=1211537
http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&query=Census_8491;STATE_NAME in ('California', '')

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

Чтобы переключить язык приложения, используйте locale=<language code>. Поддерживаются следующие языковые коды: ar, cs, da, de, en, el, es, et, fi, fr, he, it, ja, ko, lt, lv, nb, nl, pl, pt-br, pt-pt, ro, ru, sv, th, tr, zh-cn, vi, zh-hk и zh-tw.

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

http://<your portal url>/apps/webappviewer/index.html?locale=fr

Управление мобильной компоновкой

В зависимости от размера экрана в приложении поддерживается два стиля компоновки. Один для настольных и другой для мобильных устройств. Если высота или ширина экрана менее 600 пикселов, автоматически применяется компоновка для мобильных устройств. Однако это может привести к неожиданному поведению при встраивании приложения в веб-сайт, например, когда во всплывающем окне веб-сайта используется мобильный стиль компоновки. Для управления стилем компоновки используйте mobileBreakPoint=<pixel number>. Например, вы можете продолжать работать в стиле desktop до тех пор, пока размер экрана не станет менее 300 пикселов – как показано ниже:

http://<your portal url>/apps/webappviewer/index.html?mobileBreakPoint=300