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

Карта, созданная на портале ArcGIS Enterprise, содержит базовую карту; слои данных; экстент; легенду; инструменты навигации, такие как масштабирование, перемещение, поиск объектов и закладки. Множество карт также содержат интерактивные элементы, например, галерею базовых карт, инструменты измерения, всплывающие окна и кнопки для воспроизведения временных данных.

Помимо возможности создания карт в Map Viewer или Map Viewer Classic, вы также можете создавать и редактировать карты напрямую с помощью URL-параметров.

Например, вы можете создать карту с параметрами URL, которая будет отображать отмели близ берегов Мэриленда.

myportal.domain.com/arcgis/apps/mapviewer/index.html?basemapUrl=https://services.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer&url=https://services5.arcgis.com/9cBkZtsx7PSOoaCF/arcgis/rest/services/Maryland_Shoals/FeatureServer/0

Вы можете создать карту с параметрами URL, которая будет отображать береговые ветряные электростанции в Великобритании Map Viewer Classic.

https://myportal.domain.com/arcgis/home/webmap/viewer.html?basemapUrl=https%3A%2F%2Fservices.arcgisonline.com%2FArcGIS%2Frest%2Fservices%2FOcean_Basemap%2FMapServer&url=https%3A%2F%2Fservices.arcgis.com%2FWQ9KVmV6xGGMnCiQ%2Farcgis%2Frest%2Fservices%2FOnshore_Windfarms%2FFeatureServer&extent=-24.3161%2C45.2274%2C18.0911%2C63.5381

Например, вы можете использовать Map Viewer URL в следующих случаях:

  • Если вы не хотите включать множество базовых или рабочих слоев, и вам не нужно применять к содержанию карты определенные стили, используйте URL, чтобы открыть один из Map Viewers. Например, если веб-сайт позволяет пользователям найти адрес или посмотреть один слой, связанный с сайтом, можно включить в веб-сайт ссылку, которая открывает Map Viewer с заданной базовой картой и одним требующимся слоем.
  • Вам потребуется ссылка на связанную веб-карту с веб-сайта или email. Вы можете использовать URL, открывающий определенную веб-карту.

Что следует включить в URL-адрес

В Map Viewer Classic URL-адрес всегда начинается с URL-адреса главной страницы портала ArcGIS Enterprise, плюс /webmap/viewer.html? и один или несколько параметров запроса, перечисленных ниже. В Map Viewer, URL-адрес всегда начинается с полного имени ArcGIS Enterprise и web adaptor или балансировщика нагрузки и включает apps/mapviewer/index.html? и один или несколько параметров запроса, перечисленных ниже. Чтобы включить более одного параметра, используйте знак амперсанта (&) для разделения параметров. На этой странице вы найдете примеры использования нескольких параметров.

В первом примере ниже открывается Map Viewer; во втором открывается Map Viewer Classic:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?center=20,45&level=4

https://myportal.domain.com/arcgis/apps/mapviewer/index.html?center=20,45&level=4
Примечание:

Если какой-либо из ресурсов в параметре URL предоставляется как HTTP, то URL-адрес для карты также должен быть HTTP. Для обеспечения безопасности следует по возможности использовать HTTPS URL.

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

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

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

basemapUrl=https://myportal.domain.com:7443/arcgis/rest/services/Ocean_Basemap/MapServer

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

basemapUrl=https%3A%2F%2Fmyportal.domain.com:7443%2Farcgis%2Frest%2Fservices%2FOcean_Basemap%2FMapServer

Параметры внутри параметров также должны быть закодированы, например:

urls=https%3A%2F%2Fmyportal.domain.com:7443%2Farcgis%2Frest%2Fservices%2Fweb_mercator%2Ftrackline_gravity%2FMapServer%2Chttps%3A%2F%2Fmaps.ngdc.noaa.gov%2Frest%2Fservices%2Fweb_mercator%2Fhazards%2FMapServer%3Flayers%3Dshow%3A5%2C6

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

Открытие сохраненной карты

Чтобы открыть сохраненную карту, которая была создана в Map Viewer или Map Viewer Classic, используйте webmap= и уникальный ID карты.

В первом примере веб-карта с ID 8505192e747d440098523e9e64419710 открывается в Map Viewer Classic: Второй URL открывает ту же карту в Map Viewer.

https://myportal.domain.com/arcgis/home/webmap/viewer.html?webmap=8505192e747d440098523e9e64419710

https://myportal.domain.com/arcgis/apps/mapviewer/index.html?webmap=8505192e747d440098523e9e64419710

В этом примере веб-карта с ID 29990ur6423j1180p53f9t30019491 открывается в Map Viewer с экстентом -117.996342,33.841078,-117.993692,33.844375:

https://myportal.domain.com/arcgis/apps/mapviewer/index.html?webmap=29990ur6423j1180p53f9t30019491&extent=-117.996342,33.841078,-117.993692,33.844375

Задание базовой карты

Чтобы задать базовую карту, укажите для слоя параметр basemapUrl=. Если базовая карта не задана, используется карта по умолчанию, World Topographic.

В URL первого примера, Map Viewer открывается с физической картой мира в качестве базовой: Второй URL открывает ту же карту в Map Viewer Classic.

https://myportal.domain.com/arcgis/apps/mapviewer/index.html?basemapUrl=https://services.arcgisonline.com/ArcGIS/rest/services/World_Physical_Map/MapServer

https://myportal.domain.com/arcgis/home/webmap/viewer.html?basemapUrl=https://services.arcgisonline.com/ArcGIS/rest/services/World_Physical_Map/MapServer

В этом примере Map Viewer открывается с физической картой мира в качестве базовой и с рабочим слоем с ID d35a5w4bo77593y0358s0x7312jpp04, представленном в карте:

https://myportal.domain.com/arcgis/apps/mapviewer/index.html?basemapUrl=https://services.arcgisonline.com/ArcGIS/rest/services/World_Physical_Map/MapServer&layers=d35a5w4bo77593y0358s0x7312jpp04

Добавление базового слоя

Чтобы добавить к базовой карте базовый слой, установите для слоя параметр basemapReferenceUrl=. Параметр basemapReferenceUrl= необходимо использовать вместе с параметром basemapUrl.

В этом примере, Map Viewer Classic открывается со слоем изображений карты World Imagery и базовой картой со слоем World boundary and places:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?
basemapUrl=https://services.myportal.domain.com:7443/arcgis/rest/services/World_Imagery/MapServer
&basemapReferenceUrl=https://services.myportal.domain.com:7443/arcgis/rest/services/Reference/World_Boundaries_and_Places/MapServer

Задание рабочих слоев

Чтобы задать рабочие слои, которые будут находиться поверх базовой карты, используйте webmap=, layers=, layerIds=, url= или urls=. Если слой является элементом веб-сайта, то используйте layers=, чтобы получить доступ ко всем настройкам слоя. Чтобы добавить отдельные подслои из векторного слоя, содержащего несколько подслоев, используйте layerIds=. Если слой не используется на веб-сайте, то используйте url= или urls=.

Параметр layers= принимает один или несколько идентификаторов элемента. Для нескольких слоев используйте список идентификаторов, разделенный запятыми (&layers=<itemID>,<itemID>,<itemID>).

Первый пример открывается в Map Viewer. Второй открывается в Map Viewer Classic:

https://myportal.domain.com/arcgis/apps/mapviewer/index.html?layers=a79a3e4dc55343b08543b1b6133bfb90,a068913914cd4fecb302b9207a532d1a

https://myportal.domain.com/arcgis/home/webmap/viewer.html?layers=a79a3e4dc55343b08543b1b6133bfb90,a068913914cd4fecb302b9207a532d1a

Параметр layerIds= принимает ID одного слоя или несколько ID разных слоев. Если векторный слой содержит несколько подслоев, используйте параметр layerIds=, чтобы добавить отдельные подслои. Для нескольких слоев используйте список идентификаторов, разделенный запятыми (&layerIds=0,1,2).

Первый пример открывается в Map Viewer. Второй открывается в Map Viewer Classic:

https://myportal.domain.com/arcgis/apps/mapviewer/index.html?layers=025063719c32408dbd4fb608faa28d2a&layerIds=0,2
https://myportal.domain.com/arcgis/home/webmap/viewer.html?layers=025063719c32408dbd4fb608faa28d2a&layerIds=0,2

Параметр url= принимает URL одного слоя.

Например:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?
     url=https://services.myportal.domain.com:7443/arcgis/rest/services/Demographics/USA_Population_Density/MapServer

Для нескольких слоев используйте urls=. Разделите слои запятыми. Экстент карты базируется на экстенте последнего слоя в списке или сервиса, требующего наибольшего времени для загрузки. Чтобы приблизиться к определенному экстенту, используйте параметр extent=.

Первый URL открывает карту в Map Viewer. Второй URL открывается в Map Viewer Classic:

https://myportal.domain.com/arcgis/apps/mapviewer/index.html?urls=https://services.myportal.domain.com:7443/arcgis/rest/services/web_mercator/trackline_gravity/MapServer,https://maps.ngdc.noaa.gov/rest/services/web_mercator/hazards/MapServer?layers=show:5,6,12&extent=5,45,10,50

https://myportal.domain.com/arcgis/home/webmap/viewer.html?urls=https://services.myportal.domain.com:7443/arcgis/rest/services/web_mercator/trackline_gravity/MapServer,https://maps.ngdc.noaa.gov/rest/services/web_mercator/hazards/MapServer?layers=show:5,6,12&extent=5,45,10,50

Начиная с ArcGIS 10.5 можно использовать операцию ?layers в сервисе объектов.

Например:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?url=https://sampleserver6.arcgisonline.com/arcgis/rest/services/RedlandsEmergencyVehicles/FeatureServer?layers=show:1,2

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

Масштаб автоматически задается для карты в Map Viewer Classic при использовании вами параметра webmap или find. При использовании вами параметра webmap карта будет автоматически приближена к полному экстенту, если только другие параметры URL, например, level и center или extent, не используются для замещения масштаба веб-карты. Если вы используете параметр find, карта автоматически масштабируется до наиболее подходящего экстента найденного местоположения.

Для указания определенного уровня масштаба используйте параметры center и level. Параметр level принимает ID уровня масштаба кэша, который указывается в конечной точке REST-сервиса базовой карты с листами. Разрешение обратно пропорционально масштабу. Параметр level поддерживается только базовыми картами с листами и не поддерживается базовыми картами, созданными из динамических картографических сервисов и других данных, которые не разбиваются на листы.

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

Примечание:

Параметры level и center нужно применять вместе. Параметр level игнорируется, если он используется один.

Пример с географическими координатами в Map Viewer:

https://myportal.domain.com/arcgis/apps/mapviewer/index.html?center=20,45&level=4

Пример с географическими координатами в Map Viewer Classic:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?center=20,45&level=4

Пример с координатами проекции в Map Viewer:

https://myportal.domain.com/arcgis/apps/mapviewer/index.html?center=500000,5500000,102100&level=4

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

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

Пример с географическими координатами в Map Viewer:

https://myportal.domain.com/arcgis/apps/mapviewer/index.html?extent=-117.20,34.055,-117.19,34.06

Пример с координатами проекции в Map Viewer:

https://myportal.domain.com/arcgis/apps/mapviewer/index.html?extent=-13079253.954115,3959110.38566837,-12918205.318785,4086639.70193162,102113

Пример с координатами проекции в Map Viewer Classic:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?extent=-13079253.954115,3959110.38566837,-12918205.318785,4086639.70193162,102113

Задание видимости слоя

Чтобы задать видимость подслоев открываемого на карте слоя, используйте layers=show:.

В этом примере подслои 1 и 2 на слое Parcels отображаются в Map Viewer Classic, а остальные подслои скрыты:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?url=https://otherportal.domain.com:7443/arcgis/rest/services/BloomfieldHillsMichigan/Parcels/MapServer?layers=show:1,2

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

Чтобы найти местоположение или объект непосредственно после открытия карты, используйте find. Карта автоматически масштабируется до ближайшего совпадения, кроме того, к ней добавляется маркер выноски. Параметр find принимает однострочные адреса, частичные адреса (только город или только страна), названия мест, координаты широты-долготы.

В следующем примере используется однострочный адрес в Map Viewer:

https://myportal.domain.com/arcgis/apps/mapviewer/index.html?find=380 new york st,redlands,ca
Подсказка:

Чтобы найти местоположение или объект в слое поиска включите параметр webmap= с уникальным ID карты.

Добавление точки

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

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

Пример

В следующем примере показаны разделители - точки с запятой:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?marker=-79.234826;38.147884;;Race start and finish;;Grindstone 100 Ultra Marathon&level=7

Рекомендации

При добавлении точки на карту помните следующее:

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

Скрыть панель Детали

Примечание:

Эта функция в настоящее время поддерживается только в Map Viewer Classic (раньше назывался Map Viewer). Она будет доступна в следующей версии нового Map Viewer.

Чтобы скрыть панель Детали в Map Viewer Classic, используйте mapOnly=true.

В этом примере сохраненная веб-карта с ID b487d81007294fb5a0be9e10a411f2d0 открывается в Map Viewer Classic, но панель Детали скрыта:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?webmap=b487d81007294fb5a0be9e10a411f2d0&mapOnly=true