Создание шаблонов веб-приложений
Чтобы создать собственный шаблон, вы можете загрузить и отредактировать существующие шаблоны, настроить имеющееся веб-приложение на работу с ресурсами ArcGIS Online или построить веб-приложение с помощью одного из ArcGIS Web APIs. Независимо от того, какой способ вы выберете для создания собственного шаблона, вы будете задействовать параметры URL и веб-карты. Вы можете работать с группами, если вы создаёте групповой шаблон, и вы, возможно, будете рассматривать дополнительные условия для работы с базовыми картами Bing, получая доступ к защищенным картам (не общедоступным) и используя ресурсы, которые требуют прокси или метод доступа к ресурсам Cross-Origin Resource Sharing (CORS). Также вы будете добавлять ваш шаблон в ArcGIS Online, чтобы ваша организация видела его в галерее шаблонов, могла использовать его, распространить его с шаблоном карты организации или с групповым шаблоном в группе.
В этом разделе описывается, как создавать шаблоны веб-приложений. После создания вами приложения вы можете сделать его настраиваемым. Настраиваемые шаблоны позволяют оптимизировать внешний вид и поведение отдельного приложения. См. Добавление настраиваемых параметров в шаблоны (Adding configurable parameters to templates) для получения более подробной информации о создании настраиваемых шаблонов.
параметры URL
При использовании шаблона вы определяете, какую веб-карту или группу карт отображать, добавляя параметр webmap или group в URL шаблона. Шаблоны отображают содержание веб-карты или группы карт указанием 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, который определяет настройки конфигурации. Дополнительные сведения см. в разделе Как сделать шаблон настраиваемым.
Веб-карты
Шаблоны веб-карт нацелены работу с веб-картой, отображаемой в текущий момент времени во вьюере карт ArcGIS.com. См. Создание приложений с веб-картами для получения более подробной информации о создании картографических веб-приложений.
Шаблоны обычно создают карту на основе веб-карты, указанной в параметре веб-карты из 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 позволяет обращаться к объекту ответа, который открывает доступ к объекту карты, слоям и т.д.
Более подробно об использовании ArcGIS API for Javascript в работе с веб-картами
Группа
Групповые шаблоны отображают содержание карт из указанной группы в виде приложения. Более подробно о создании галереи см. в разделе Создание приложений с группами.
API портала ArcGIS Portal предоставляет доступ к ресурсам ArcGIS Online. Вы можете использовать его для извлечения ресурсов группы, обращаясь к ним через входной ID группы. Более подробно о работе с ArcGIS Portal API см. раздел Об интерфейсе ArcGIS Portal API.
Например, вы можете выполнить запрос в ArcGIS Online для нахождения группы по входному ID.
var portal = new esri.arcgis.Portal('http://www.arcgis.com');
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");
Более подробно о Менеджере учетных записей
Также вы может потребоваться настройка SSL на веб сервере, который размещает ваше приложение.
Прокси и поддержка CORS
Если ваше приложение будет выполнять междоменные запросы к ArcGIS Online, то необходимо активизировать Cross-Origin Resource Sharing (CORS) или добавить прокси к вашему приложению.
Добавление шаблона в ArcGIS Online
После создания шаблона и размещения его на вашем веб-сервере, добавьте шаблон в ArcGIS Online как элемент настраиваемого приложения веб-картографии. В качестве типа элемента выберите Картографическое веб-приложение. В качестве назначения выберите Настраиваемый. Подробнее о добавлении элементов на ArcGIS Online см. в разделе Добавление приложений. Также вы можете добавить элемент с помощью ArcGIS Portal API.
Убедитесь, что добавили описательные название и краткую информацию, так как эти данные отображаются при наведении курсора на элемент шаблона в галерее шаблонов. Дополнительно вы можете создать ZIP-файл, который будет содержать файлы вашего приложения, и прикрепить его к элементу для скачивания.
Использование шаблона в галерее вашей организации
Если вы желаете использовать шаблон в галерее шаблонов веб-карт вашей организации или галерее шаблонов группы, сделайте его общедоступным в группе, используемой для шаблонов. Тогда администратор вашей организации сможет настроить карту или настроить группы, чтобы использовать группу, содержащую ваш шаблон.