Skip To Content

Создание шаблонов веб-приложений

Для того, чтобы создать собственный шаблон веб-приложения, вы можете загрузить и изменить один из существующих шаблонов, обновить имеющееся веб-приложение для работы с ресурсами вашего портала или построить новое веб-приложение с помощью одного из интерфейсов программирования ArcGIS Web API. Независимо от того, какой способ вы выберете для создания собственного шаблона, вы будете использовать параметры URL и карты. Вы можете работать с группами, если вы создаете групповой шаблон, и вы, возможно, будете рассматривать дополнительные условия для работы с базовыми картами Bing, получая доступ к защищенным картам (не общедоступным) и используя ресурсы, которые требуют прокси или обмена ресурсами с запросом происхождения (Cross-Origin Resource Sharing (CORS)). Вы также добавите ваш элемент на портал и, если ваша организация захочет увидеть его в галерее шаблонов, откроете к нему доступ для одной из групп шаблонов вашей организации.

Portal for ArcGIS включает ArcGIS API 3.15 for JavaScript. Размещать собственный API и перенаправлять портал на локальную версию для новых шаблонов не нужно; шаблоны веб-приложения автоматически ссылаются на установленный API. Локально установленный API обычно доступен на https://webadaptor.domain.com/arcgis/jsapi/jsapi.

Внимание:

Не изменяйте файлы шаблонов веб-приложений, которые предоставляются с Portal for ArcGIS, так как эти файлы управляются порталом и любые внесенные в них изменения могут быть впоследствии перезаписаны порталом. Если вы хотите настроить шаблоны, то выполните следующие действия:

  1. Создайте копию существующего файла шаблона, который вы хотите настроить.
  2. Разместите копию в другом месте на диске.
  3. Настройте копию шаблона.
  4. Добавьте ее на портал в качестве нового шаблона.

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

Веб-карты

Шаблоны приложений созданы для работы с картой, отображаемой в текущий момент времени во вьюере карт. Шаблоны обычно создают карту на основе веб-карты, указанной в параметре веб-карты из URL. В каждом интерфейсе программирования ArcGIS Web API имеется вспомогательный метод, который создает карту, используя ID веб-карты.

Например, вы можете при работе с ArcGIS API for JavaScript использовать метод esri.arcgis.utils.createMap, чтобы создать карту, основанную на входном ID. Вы также можете добавить функцию callback, которая выполняется по завершению синхронного запроса к esri.arcgis.utils.createMap.

esri.arcgis.utils.createMap(webmap,"map",{
   mapOptions:{
     slider:false
   },
   bingMapsKey:bingMapsKey
}).then(function(response){
    map = response.map;
});
Примечание:

В том случае, если ваша карта содержит базовую карту Bing Maps, вам требуется указать ключ Bing Maps при использовании метода createMap. Есть несколько других опций карты, которые вы можете настроить, например, отображение бегунка, инструментов навигации, информации об авторах и т.д.

Функция callback позволяет обращаться к объекту ответа, который открывает доступ к объекту карты, слоям и т.д.

Регистрация шаблона приложения

Если в вашем шаблоне приложения используются защищенные элементы, то сначала вам будет нужно их зарегистрировать. Для этого добавьте новый объект Web Mapping Application и выберите для URL шаблон приложения, который размещен на вашем веб-сервере.

После добавления вашего объекта вам нужно зарегистрировать приложение. Поскольку это веб-приложение, выберите для типа Browser, указав для опции Redirect URI URL-ссылку на шаблон приложения.

После успешной регистрации приложения ему присваивается уникальный ID.

Используйте Identity Manager, чтобы ID зарегистрированного приложения мог быть распознан. Для получения доп. информации см. примеры OAuth Basic и OAuth Popup.

Группировать

Групповые шаблоны отображают содержание карт из указанной группы в виде приложения.

ArcGIS REST API предоставляет доступ к ресурсам вашего портала. Вы можете использовать его для извлечения ресурсов группы, обращаясь к ним через входной ID группы.

В этом примере вы сформируете запрос с целью поиска группы со входным значением идентификатора.

var portal = new esri.arcgis.Portal('https://webadaptor.domain.com/arcgis/');
dojo.connect(portal, 'onLoad',function(){
    portal.queryGroup(groupid).then(function(response){
        var group = response.results[0];
     });
});

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

В этом примере выполняется запрос о нахождении в группе пяти элементов с типом Web Map или Web Mapping Application.

var queryParams = {
    q: 'type:"Web Map" -type:"Web Mapping Application"',
    num: 5
 };
group.queryItems(queryParams).then(function(response){
    var groupItems = response.results;
});

Дополнительные условия работы

Веб-приложения обычно разрабатываются для использования с ресурсами различных типов, поэтому, вам может потребоваться настроить шаблон на работу с картами, построенными на базовых картах Bing Maps, защищенных ресурсах и т.д. Ниже перечисляются определенные условия работы с шаблонами.

Ключ Bing Maps

Если карта, которую вы желаете отобразить, использует базовую карту Bing Maps, то в ваше приложение необходимо добавить ключ Bing Maps. Ключ Bing Maps указывается в качестве параметра метода createMap.

Прокси и поддержка CORS

Если ваше приложение будет формировать кросс-доменные запросы, необходимо будет включить механизм доступа к ресурсам другого домена (Cross-Origin Resource Sharing – CORS) или добавить к вашему приложению прокси.

Добавление шаблона на портал

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

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

Использование шаблона в галерее приложений вашей организации

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