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

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

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

ВниманиеВнимание:

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

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

В этом разделе описывается, как создавать шаблоны веб-приложений. После создания шаблона вы можете сделать его настраиваемым. Настраиваемые шаблоны позволяют оптимизировать внешний вид и поведение отдельного приложения. См. Добавление настраиваемых параметров в шаблоны (Adding configurable parameters to templates) для получения более подробной информации о создании настраиваемых шаблонов.

параметры URL

При использовании шаблона вы определяете, какую веб-карту или группу карт отображать, добавляя параметр webmap или group ID в качестве параметра в URL шаблона. Идентификаторы ID веб-карт указываются, используя параметр webmap, а ресурсы групп карт определяется при помощи параметра group. Порядок работы вашего шаблона с текущей веб-картой или группой карт задается последовательным добавлением кода в приложение для того, чтобы получать идентификатор текущей веб-карты или группы карт из URL. Более подробно о параметрах веб-карт см. Использование URL параметров(Using URL parameters).

Например, вы можете отображать Базовую веб-карту Европы (Europe Basemap) в шаблоне Основной вьюер (Basic Viewer).

Чтобы это сделать, начните работать с URL Основного вьюера (Basic Viewer URL):

http://www.arcgis.com/apps/OnePane/basicviewer/index.html

Скопируйте webmap= часть URL Базовой карты Европы (Europe Basemap URL):

http://www.arcgis.com/home/webmap/viewer.html?webmap=5421a40574914458892efe74f0149025

И добавьте ее в конец URL Основного вьюера (Basic Viewer URL):

http://www.arcgis.com/apps/OnePane/basicviewer/index.html?webmap=5421a40574914458892efe74f0149025

В JavaScript API есть вспомогательный метод esri.urlToObject, который упрощает эту процедуру. Данный метод конвертирует параметры URL в объект.

var webmap;
var urlObject = esri.urlToObject(document.location.href);

После конвертации параметров URL в объект вы можете получить доступ к многочисленным входным ресурсам. Например, назначить параметру URL веб-карты значение переменной webmap_id.

var webmap_id = urlObject.query.webmap;
ПримечаниеПримечание:

Если приложение настраиваемое, то вам также необходимо работать с параметром URL appid, который определяет настройки конфигурации. Для получения более подробной информации о настройке шаблона для чтения файла конфигурации обратитесь к разделу Добавление настраиваемых параметров к шаблонам.

Веб-карты

Шаблоны веб-карт нацелены работу с веб-картой, отображаемой в текущий момент времени во вьюере карт. Шаблоны обычно создают карту на основе веб-карты, указанной в параметре веб-карты из URL. В каждом веб 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 позволяет обращаться к объекту ответа, который открывает доступ к объекту карты, слоям и т.д.

Более подробно о классе Map

Группа

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

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.

Менеджер учетных записей

Менеджер учетных записей (Identity Manager) упрощает работу с защищенными ресурсами. Он администрирует процессы запрашивания пользователем учетных данных, создания токена и прикрепления его к ресурсу. При добавлении класса Менеджера учетных данных в ваше приложение шаблон будет работать с общедоступными и частными веб-картами.

Добавьте следующую строку кода в ваше приложение, чтобы активизировать IdentityManager:

dojo.require("esri.IdentityManager");

Более подробно о Менеджере учетных записей (Identity Manager)

ПримечаниеПримечание:

Также вам может потребоваться настройка SSL на веб сервере, который размещает ваше приложение.

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

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

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

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

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

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

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

5/10/2014