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

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

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

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

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

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

URL-адрес всегда начинается с домашней страницы портала ArcGIS Enterprise и включает /webmap/viewer.html? и один или несколько параметров запроса, перечисленных ниже. Чтобы включить более одного параметра, используйте знак амперсанта (&) для разделения параметров.

Пример:

https://myportal.domain.com/arcgis/home/webmap/viewer.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=http%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%2Chttp%3A%2F%2Fmaps.ngdc.noaa.gov%2Frest%2Fservices%2Fweb_mercator%2Fhazards%2FMapServer%3Flayers%3Dshow%3A5%2C6

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

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

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

Пример:

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

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

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

Пример:

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

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

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

Пример:

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

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

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

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

Пример:

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

Параметр 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=.

Пример:

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 operation on a feature service.

Пример:

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

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

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

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

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

Примечание:

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

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

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

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

https://myportal.domain.com/arcgis/home/webmap/viewer.html?center=500000,5500000,102100&level=4

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

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

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

https://myportal.domain.com/arcgis/home/webmap/viewer.html?extent=-117.20,34.055,-117.19,34.06

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

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

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

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

Пример:

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 обрабатывает однострочные адреса, частичные адреса (только город или страна), названия мест и значения долгота-широта.

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

https://myportal.domain.com/arcgis/home/webmap/viewer.html?find=380 new york st,redlands,ca

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

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

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

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

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

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

Пример

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

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, используйте mapOnly=true.

Пример:

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