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

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

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

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

https://www.arcgis.com/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

Просмотрите этот пример в Map Viewer

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

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

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

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

См. пример ниже:

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

Просмотрите этот пример в Map Viewer

Примечание:

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

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

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

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

basemapUrl=https://services.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer

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

basemapUrl=https%3A%2F%2Fservices.arcgisonline.com%2FArcGIS%2Frest%2Fservices%2FOcean_Basemap%2FMapServer

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

urls=https%3A%2F%2Fmaps.ngdc.noaa.gov%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. Например, на сайте Albion Research Ltd. имеются страницы URLEncode и URLDecode. Для удобства чтения остальные примеры в данном разделе не закодированы. Щелкните ссылку Просмотреть данный пример в Map Viewer после значка примера, чтобы просмотреть закодированный адрес URL в веб-браузере.

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

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

В этом примере веб-карта с ID 8505192e747d440098523e9e64419710 открывается в Map Viewer:

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

Просмотрите этот пример в Map Viewer

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

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

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

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

В этом примере Map Viewer открывается с физической картой мира в качестве базовой:

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

Просмотрите этот пример в Map Viewer

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

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

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

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

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

https://www.arcgis.com/apps/mapviewer/index.html?basemapUrl=https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer&basemapReferenceUrl=https://services.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer

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

https://myportal.domain.com/arcgis/apps/mapviewer/index.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

Просмотрите этот пример в Map Viewer

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

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

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

Например:

https://www.arcgis.com/apps/mapviewer/index.html?layers=a79a3e4dc55343b08543b1b6133bfb90,9e2f2b544c954fda9cd13b7f3e6eebce

Просмотрите этот пример в Map Viewer

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

Например:

https://www.arcgis.com/apps/mapviewer/index.html?layers=025063719c32408dbd4fb608faa28d2a&layerIds=0,2

Просмотрите этот пример в Map Viewer

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

Например:

https://www.arcgis.com/apps/mapviewer/index.html?url=https://services9.arcgis.com/RHVPKKiFTONKtxq3/arcgis/rest/services/USGS_Seismic_Data_v1/FeatureServer

Просмотрите этот пример в Map Viewer

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

Например:

https://www.arcgis.com/apps/mapviewer/index.html?urls=https://gis.ngdc.noaa.gov/arcgis/rest/services/web_mercator/trackline_combined_dynamic/MapServer,https://nowcoast.noaa.gov/arcgis/rest/services/nowcoast/wwa_meteoceanhydro_longduration_hazards_time/MapServer?layers=show:0,1,2,4,5&extent=-135-70,17,50

Просмотрите этот пример в Map Viewer

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

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

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

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

Просмотрите этот пример в Map Viewer

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

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

Просмотрите этот пример в Map Viewer

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

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

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

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

Просмотрите этот пример в Map Viewer

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

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

Просмотрите этот пример в Map Viewer

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

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

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

https://www.arcgis.com/apps/mapviewer/index.html?url=https://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer?layers=show:0,2

Просмотрите этот пример в Map Viewer

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

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

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

https://www.arcgis.com/apps/mapviewer/index.html?find=380 new york st,redlands,ca

Просмотрите этот пример в Map Viewer

Подсказка:

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

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

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

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

Пример

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

https://www.arcgis.com/apps/mapviewer/index.html?marker=-79.234826;38.147884;;Race start and finish;;Grindstone 100 Ultra Marathon

Просмотрите этот пример в Map Viewer

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

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

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

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

https://www.arcgis.com/home/webmap/viewer.html?webmap=8505192e747d440098523e9e64419710&mapOnly=true

Посмотрите этот пример в Map Viewer Classic.