Виджет Карта

Виджет Карта позволяет отображать двумерную и трехмерную географическую информацию. Вы можете включить на карте такие инструменты, как Масштабирование, Найти местоположение, Поиск и Измерение.

Примеры

Используйте этот виджет для поддержки требований к разработке приложений, таких как:

  • Вам нужно показать сравнение карты в 2D и 3D. Вы можете добавить два виджета Карта и создать триггер и действие для синхронизации видов при взаимодействии с любой картой.
  • Вы хотите, щелкнув объект на карте, отобразить его запись в виджете Информация об объекте.
  • Вам необходимо применить фильтр к виджету Список на основе щелчка по объекту на карте.

Примечания по использованию

Вы можете показать одну карту или включить опцию переключения между двумя картами. Вы можете включить несколько карт в приложение, добавив дополнительные виджеты Карта.

Виджет Карта требует наличия источника данных, включая веб-карты и веб-сцены. Как в режиме разработки, так и в конечном приложении включенные инструменты располагаются на карте автоматически, в зависимости от размера виджета.

Подсказка:

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

Более подробно о настройке видимости слоя из одной карты для использования его в разных виджетах Карт

Настройки

Виджет Карта включает в себя следующие настройки:

  • Выбор карты — добавьте источник данных для веб-карт и веб-сцен.
  • Исходный вид – задать исходное положение карты при ее загрузке в виджет.
    • По умолчанию – положение карты, которое определяется веб-картой или веб-сценой.
    • Пользовательское – измените исходный вид карты, создав пользовательское положение карты.
  • Инструменты — предоставьте пользователям инструменты для взаимодействия с картой.
    • Масштаб—приближать и отдалять карту или сцену.
    • Home — масштабировать карту до начального положения (экстента).
    • Навигация - включить инструменты панорамирования и поворота карты. Эти инструменты появляются, когда виджет Карта отображает 3D-веб-сцену.
    • Найти местоположение — отображать текущее местоположение пользователя.
    • Компас — указывать, где находится север по отношению к текущему виду 2D или 3D карты.
    • Поиск — найти местоположения на основе сервиса геокодирования из вашей организации или портала. При включении всплывающих окон, они будут отображаться с результатами поиска.
    • Слои — отображать список слоев и символов на карте и разрешить пользователям включать или выключать их.
    • Базовая карта - показать галерею базовых карт.
    • Измерение — включает инструменты для измерения площади и расстояния. Инструмент Измерение использует замыкание — указатель привязывается к объектам на карте. Чтобы временно отключить замыкание, во время измерения пользователи могут нажать и удерживать клавишу Ctrl.
    • Полный экран — показать карту на весь экран.
    • Масштабная линейка — включите масштабную линейку на карте, которая отображает единицы измерения в метрических или не метрических значениях и динамически реагирует на различные системы координат.
    • Выбрать – выберите объекты на карте с помощью различных инструментов и режимов выборки. Пользователи имеют доступ к следующим инструментам выборки и могут выбирать объекты, которые либо полностью содержатся в нарисованных полигонах, либо частично или полностью находятся внутри них.
      • Прямоугольник — щелкните и перетащите курсор, чтобы нарисовать прямоугольник поверх объектов.
      • Лассо — щелкайте на карте, чтобы создать вершины полигона, или перетаскивайте указатель, чтобы вручную создать произвольную форму. Дважды щелкните, чтобы завершить полигон и выбрать содержащиеся в нем объекты.
      • Окружность — щелкните и перетащите курсор, чтобы нарисовать окружность вокруг объектов.
      • Линия — щелкните на карте, чтобы создать вершины линии. Щелкните дважды, чтобы завершить линию и выбрать пересекающиеся объекты.
      • Точка — щелкните на карте, чтобы разместить точку и выбрать пересекающие объекты.

      Можно выбрать несколько объектов следующими четырьмя способами:

      • Создать новую выборку объектов с помощью каждого нового инструмента отрисовки выборки. Используется по умолчанию.
      • Добавить к текущему набору выборки (удерживайте нажатой клавишу Shift во время рисования).
      • Удалить объекты из текущего набора выборки (нажмите Ctrl при рисовании для Windows; Cmd - при рисовании для Mac).
      • Выберите объекты из текущего набора выборки (нажмите Ctrl+Shift при рисовании для Windows; Cmd+Shift - при рисовании для Mac).

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

    • Навигация по экстенту — переход назад и вперед по экстентам, которые пользователь посетил во время выполнения.
    • Обзорная карта - добавляет расширяемую карту-врезку. Обзорная карта представляет собой уменьшенную версию основной карты с прямоугольником локатора, который обозначает основной экстент карты. Если вы щелкните и перетащите прямоугольник локатора, основная карта приблизится к этому новому местоположению. Этот инструмент не отображается на компоновках для небольших экранов.
  • Компоновка инструментов - выберите компоновку инструментов карты для устройств с большим или средним экраном.
    Примечание:

    Виджет Карта автоматически скрывает инструменты в зависимости от высоты виджета, чтобы сделать его более эффективным для устройств со средним и маленьким экраном. Например, если высота виджета Карта меньше 465 пикселей, инструменты измерения и определения местоположения будут скрыты на маленьких и средних экранах, даже если они включены в настройках виджета. По мере уменьшения высоты виджета будет скрыто больше инструментов. Последними исчезают инструменты полноэкранного режима, поиска, изменения масштаба, масштабной линейки и компаса.

  • Опции
    • Цвета выборки объектов – изменение цвета и прозрачности подсветки объектов, выделенных на карте. Можно настроить заливку и контур выделения.
    • Включить масштабирование с помощью колесика мыши — включите масштабирование колесиком мыши и на сенсорных экранах, перемещение по карте одним пальцем.
    • Включить всплывающие окна — включите всплывающие окна на карте. Если ваше приложение также включает виджет Информация об объекте, возможно, вы захотите отключить этот параметр. Если источник данных содержит связанные данные и вы настраиваете связанные записи во всплывающих окнах Map Viewer, вы можете просмотреть связанные записи во всплывающих окнах в Experience Builder.
      • Показать всплывающее окно над выборкой объектов — показывать всплывающие окна на карте, когда пользователь выбирает объекты карты в другом виджете, таком как таблица или список.
      • Закрепить всплывающие окна - закрепить всплывающие окна по умолчанию. Вы можете настроить всплывающие окна, чтобы они появлялись в одной из шести опорных точек в рамке виджета Карта. Во время выполнения пользователи по-прежнему могут нажимать Закрепить и Открепить во всплывающем окне, чтобы изменить место отображения всплывающих окон.
    • Режим качества сцены (для веб-сцен) - управляет качеством веб-сцены, балансируя между визуальным эффектом и производительностью загрузки.
      • Низкая - увеличить производительность, стабильность и скорость при сокращенной загрузке данных.
      • Средняя - равная оптимизация производительности и качества.
      • Высокая - улучшить качество опцией визуализации (например, блики воды).
  • Включить запрос на стороне клиента - включите эти кнопки переключения, чтобы виджеты в приложении использовали запросы на стороне клиента для работы с данными из ваших веб-карт. При подключении одной и той же веб-карты к нескольким виджетам Карты, необходимо только один раз включить запросы на стороне клиента для веб-карты.
    Примечание:

    Веб-сцены не поддерживают запросы на стороне клиента.

    Преимущества запросов на стороне клиента заключаются в уменьшении требований к серверу и повышении производительности приложения. Запросы на стороне клиента значительно сокращают количество сетевых запросов, отправляемых на сервер. Кроме того, запросы на стороне клиента быстрее, чем запросы на стороне сервера. Задачи, связанные с данными, такие как выбор объекта для обновления диаграммы, выполняются быстрее.

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

    Примечание:

    Распространенной конфигурацией приложения Experience Builder, которая может быть требовательной к серверам, является виджет Список, который обновляется в зависимости от текущего экстента карты.

    Чтобы избежать перегрузки серверов, рекомендуется включать запросы на стороне клиента при настройке виджета Карта с триггером Изменения экстента и действием с сообщением Фильтровать записи данных. Это особенно важно, если ожидается, что многие пользователи одновременно получат доступ к приложению.

    Примечание:

    Сведения об известных ограничениях запросов на стороне клиента см. в ArcGIS Maps SDK for JavaScript документации.

Опции взаимодействия

Виджет Карта поддерживает настройку триггеров на вкладке Действие в настройках виджета. Вы можете синхронизировать два виджета Карта, добавив триггер Изменения экстента к обеим картам, выбрав другую карту в качестве цели для каждого из них и выбрав действия Переместить к и Приблизить к. Для веб-карт синхронизация Приблизить к включает в себя режим поворота карты. Для веб-сцен это поведение включает в себя режимы поворота и наклона.

Примечание:

Если виджет Карта настроен на действия Приблизить к и Переместить к, то действие Приблизить к имеет приоритет над действием Переместить к. Это означает, что при одновременном перемещении и приближении карты, действие Переместить к игнорируется.

Можно настроить триггеры и действия с сообщениями, чтобы карта взаимодействовала с другими виджетами. Например, вы можете добавить триггер действия, чтобы в виджете Список отображались только те объекты, которые видны на карте. Виджет Карта также поддерживает действия с данными, которые отображаются во всплывающих окнах и позволяют экспортировать данные, просматривать записи в таблице и многое другое. Триггеры, действия с сообщениями и действия с данными определяются и управляются на вкладке Действие в настройках виджета. Дополнительные сведения о поддерживаемых действиях виджета Карта см. в разделе Добавление действия в виджеты.

Параметры URL

В подразделах ниже описаны связанные с картой параметры URL. Можно использовать настройки в разделе Управление статусом URL, чтобы эти параметры появлялись в URL-адресе, когда пользователь взаимодействует с виджетом Карта. Все параметры виджета Карта следуют за решетками (#). Чтобы включить несколько параметров, их необходимо разделять амперсандами (&).

Примечание:

Параметры виджета Карта center, scale и rotation работают только с веб-картами, а не с веб-сценами.

Определить веб-карту или веб-сцену при первой загрузке виджета Карта

Если виджет Карта содержит несколько веб-карт или веб-сцен, вы можете определить, какая из них активна при загрузке приложения, используя active_datasource_id, за которым следует идентификатор источника данных нужного элемента. Ниже приведены примеры:

https://experience.arcgis.com/experience/<AppId>#<mapWidgetID>=active_datasource_id:<dataSourceId>
https://experience.arcgis.com/experience/<AppId>#map_1=active_datasource_id:dataSource_4

Центрировать карту

Чтобы центрировать карту в определенном месте, используйте center, затем укажите нужные координаты и известный идентификатор данной системы координат (WKID). Ниже приведены примеры:

https://experience.arcgis.com/experience/<AppId>#<mapWidgetID>=center:<x,y,wkid>
https://experience.arcgis.com/experience/<AppId>#map_1=center:-10373125.398783844%2C4598516.55871741%2C102100

Определить масштаб карты

Чтобы определить масштаб карты, используйте параметр scale, за которым следует значение масштаба. Ниже приведены примеры:

https://experience.arcgis.com/experience/<AppId>#<mapWidgetID>=scale:<scaleValue>
https://experience.arcgis.com/experience/<AppId>#map_1=scale:19257701.0800833

Определить поворот карты

Чтобы определить поворот карты, используйте параметр rotation, за которым следует значение градусов. Ниже приведены примеры:

https://experience.arcgis.com/experience/<AppId>#<mapWidgetID>=rotation:<rotationValue>
https://experience.arcgis.com/experience/<AppId>#map_1=rotation:45

Определение точки обзора карты

Чтобы определить параметр viewpoint, т.е. местоположение или положение камеры, с которого можно просматривать карту или сцену, используйте viewpoint. Если виджет Карта содержит несколько карт или сцен, параметр точки обзора влияет на все из них.

Точки обзора и их свойства обычно записываются в формате JSON, как в следующем примере:

 {
  "rotation": 0,
  "scale": 19966005.903731048,
  "targetGeometry": {
    "spatialReference": {
      "latestWkid": 3857,
      "wkid": 102100
    },
    "x": -9870655.016044471,
    "y": 4724533.527708739
  }
}

Чтобы определить конкретную точку обзора с помощью URL-адреса, вы должны закодировать все эти свойства, обычно записанные в формате JSON, в URL-адрес. Ниже приведен пример:

https://experience.arcgis.com/experience/<AppId>#map_1=viewpoint:%7B"rotation"%3A0%2C"scale"%3A24387741.012671936%2C"targetGeometry"%3A%7B"spatialReference"%3A%7B"latestWkid"%3A3857%2C"wkid"%3A102100%7D%2C"x"%3A-10078461.002935613%2C"y"%3A4523117.553838721%7D%7D

Примечание:
Параметры center, scale и rotation имеют более высокий приоритет, чем параметр viewpoint, и будут переопределять его, если вы используете несколько параметров, связанных с веб-картой.
Примечание:

Изменения экстента карты, вызванные действиями с сообщением, имеют более высокий приоритет, чем изменения экстента, вызванные параметрами URL. Например, если вы попытаетесь открыть виджет Карта с предустановленными экстентами, используя приведенные выше параметры URL-адреса, но при этом виджет Карта также настроен как цель триггера Изменения выборки записей и действий с сообщениями Переместить или Приблизить, то экстенты, связанные с действиями с сообщением заменяют экстенты, которые вы установили с помощью параметров URL-адреса.

Определить видимость слоев карты

Чтобы определить видимость слоя карты, используйте параметр layer_visibility.

Видимость слоя обычно записывается в формате JSON, как в следующем примере:

 {
  "widget_1-dataSource_1": {
    "widget_1-dataSource_1-187938b7328-layer-2": false
  },
  "widget_1-dataSource_4": {
    "widget_1-dataSource_4-18a690b433a-layer-4": false
  }
}

Чтобы сделать слои на карте видимыми или скрытыми с помощью URL-адреса, вы должны закодировать всю информацию в URL-адресе после параметра layer_visibility. Ниже приведен пример:

https://experience.arcgis.com/experience/<AppId>#map_1=layer_visibility:%7B%22widget_1-dataSource_1%22%3A%7B%22widget_1-dataSource_1-187938b7328-layer-2%22%3Afalse%7D%2C%22widget_1-dataSource_4%22%3A%7B%22widget_1-dataSource_4-18a690b433a-layer-4%22%3Afalse%7D%7D

Приблизить к выбранному объекту

Параметр data_s появляется в URL-адресе приложения при выборе объекта. Теперь вы можете использовать параметр zoom_to_selection=true для приближения к одному выбранному объекту на карте по ObjectId. Ниже приведены примеры:

https://experience.arcgis.com/experience/<AppId>/#data_s=id:<data source ID>:<OBJECTID>&zoom_to_selection=true
https://experience.arcgis.com/experience/<AppId>/#data_s=id%3AdataSource_1-csv_905%3A77&zoom_to_selection=true