Skip to content

Настройка пользовательской карты ​

Выравнивание, масштаб и фоновое изображение могут настраиваться независимо для каждой сохраненной карты на устройстве.

Эти параметры можно настроить в визуальном редакторе, выбрав карту из списка карт, или используя свойство map_config в YAML-конфигурации.

Настройки картыНастройки картыНастройки карты

Опции конфигурации карты ​

Параметры внутри map_config применяются для каждого индекса карты с использованием ключей, таких как map_1, map_2 и т.д. Любая из следующих опций может быть определена для конкретной карты:

Предупреждение

Индексы карт присваиваются в порядке их создания, при этом самой старой карте присваивается наименьший индекс, начиная с 1. Однако если функция многослойной карты отключена на устройстве, на котором есть несколько карт и их конфигурации, текущая активная карта автоматически присваивается индекс 1. Это означает, что карта, ранее настроенная под другим индексом, внезапно примет конфигурацию map_1.

  • rotation: Перезаписывает вращение, настроенное в данных карты, чтобы отобразить карту с пользовательским вращением, специфичным для этой карточки, принимая значения 0, 90, 180 или 270.
  • scale: Перезаписывает автоматический расчет масштаба на основе разницы между исходным размером карты и размером карточки, принимая значения от 0.1 до 20.
  • object_scale: Перезаписывает автоматически рассчитанный размер объектов карты, таких как значки комнат и препятствий, позволяя им отображаться больше или меньше.
  • opacity: Глобальная прозрачность отрисованной карты. Начальное значение 1 и допускаются значения до 0.
  • object_opacity: Прозрачность объектов, нарисованных на карте, таких как значки комнат или препятствий. Начальное значение 1 и допускаются значения до 0.
  • font_size: Размер шрифта для текстовых пузырей, отображаемых над активированные объекты. Принимает значения от 0 до 12.
  • hidden_objects: Перезаписывает скрытые объекты карты, определенные в глобальном Расширенная конфигурация для этой конкретной карты.

Центрирование и масштабирование ​

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

Предупреждение

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

  • left: Переопределяет автоматически рассчитанный горизонтальный центр карты. Например, установка этого значения на 0 размещает координату 0 карты по оси X точно в горизонтальном центре карты. Эта точка обычно находится прямо перед причалом.
  • top: Переопределяет автоматически рассчитанный вертикальный центр карты. Например, установка этого значения на 0 размещает координату 0 карты по оси Y точно в вертикальном центре карты. Эта точка обычно находится прямо перед причалом.
  • width: Переопределяет фактическую ширину карты, используемую для расчета подгонки. Поскольку карта масштабируется на основе наибольшего подходящего измерения, ввод значения, превышающего фактическую ширину карты, уменьшит карту внутри карточки, тогда как меньшее значение увеличит ее.
  • height: Переопределяет фактическую высоту карты, используемую для расчета подгонки. Аналогично свойству width, введение значения, превышающего фактическую высоту карты, уменьшит карту внутри карточки, тогда как меньшее значение увеличит ее.

Пример YAML ​

yaml
type: custom:dreame-vacuum-card
entity: vacuum.l10s_gen2
map_config:
  map_1:
    rotation: 90
    scale: 1.2
    object_scale: 1.5
    left: 10
    top: -20
    hidden_objects:
      - name
      - virtual_wall
  map_2:
    rotation: 180
    opacity: 0.8

Фоновые и наложенные изображения ​

Карточка поддерживает отображение пользовательского фонового изображения за картой, что особенно полезно для создания захватывающих панелей 3D-планов этажей. Это поведение настраивается с помощью свойства background_image.

Фоновое изображение конфигурации картыФоновое изображение конфигурации карты

Для дальнейшего усиления 3D-эффекта также может быть предоставлен опциональный overlay_image. Изображение наложения рисуется непосредственно поверх пути уборки робота, и его основная цель — визуально скрыть пути, проходящие за физическими стенами или мебелью на плане этажа. Рекомендуется использовать как фоновое, так и наложенное изображение для достижения реалистичного ощущения глубины на 3D-панелях.

Фоновое изображение ДомФоновое изображение Дом
Фоновое изображение КартыФоновое изображение Карты
Фоновое изображение Сохраненной картыФоновое изображение Сохраненной карты

Создание 3D-плана этажа

При создании пользовательской графики для 3D-плана этажа дизайн должен быть экспортирован в виде двух отдельных изображений с прозрачными фонами: базовый слой, содержащий полы и низкую мебель, и верхний слой, содержащий только верхние стены.

Пример изображений ниже, показанных поверх шахматного фона для выделения их прозрачных областей, был сгенерирован с помощью бесплатного приложения для дизайна интерьера Sweet Home 3D и впоследствии обработан в стандартном графическом редакторе для удаления областей пола и создания необходимых прозрачных частей.

Фоновое изобр.Фоновое изобр.
Фоновое изобр.
Overlay-картинкаOverlay-картинка
Overlay-картинка

Свойства background_image и overlay_image поддерживают следующие параметры для выравнивания плана пола:

  • url: Путь к изображению, например /local/first_floor_bg.
  • opacity: Прозрачность изображения. Начальное значение 1 и принимает значения до 0.

Центрирование и масштабирование изображений ​

Свойства left, top, width и height для изображений работают с использованием точно такой же логики относительных координат, как и собственная конфигурация карты Центрирование и масштабирование. Эти свойства являются полностью необязательными.

Даже если пользовательское изображение идеально соответствует размеру карты, настоятельно рекомендуется указать хотя бы значения top и left. Это обеспечивает, что если общий размер карты изменится в будущем, пользовательское изображение останется надежно закрепленным в том же относительном положении.

Значения по умолчанию

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

  • left: Определяет горизонтальный центр изображения относительно центра карты. Например, установка этого значения в 0 размещает координату 0 карты на оси X точно в горизонтальном центре изображения. Эта точка обычно находится прямо перед причалом.
  • top: Определяет вертикальный центр изображения относительно центра карты. Например, установка этого значения в 0 размещает координату 0 карты на оси Y точно в вертикальном центре изображения. Эта точка обычно находится прямо перед причалом.
  • width: Определяет ширину изображения относительно исходной, не масштабированной системы координат карты, а не в абсолютных пикселях экрана. Например, установка этого значения таким образом, чтобы оно соответствовало исходной ширине карты, гарантирует, что изображение будет масштабироваться пропорционально, чтобы покрыть точно ту же горизонтальную область, что и данные карты.
  • height: Определяет высоту изображения относительно исходной, не масштабированной системы координат карты. Например, установка этого значения таким образом, чтобы оно соответствовало исходной высоте карты, гарантирует, что изображение будет масштабироваться пропорционально, чтобы покрыть точно ту же вертикальную область, что и данные карты.

Исходное вращение

Пользовательские изображения не имеют собственной независимой функции вращения; их вращение неразрывно связано с вращением карты. Чтобы обеспечить выравнивание во всех представлениях, базовая ориентация разработанного изображения должна точно соответствовать исходной ориентации карты при установке на 0 градусов.

Коэффициент пикселей устройства (DPR)

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

Определение размера изображения

Данные карты включают свойство grid_size, которое указывает, сколько миллиметров представляет один пиксель в реальном мире. Это значение можно найти в разделе Информация о живой карте. Например, grid_size со значением 50 означает, что каждый пиксель соответствует 50 мм, или 5 см. Разделив реальные размеры дома на это значение grid_size, можно точно вычислить значения width и height, которые необходимо ввести в конфигурацию, обеспечивая, что изображение плана этажа в масштабе 1:1 идеально соответствует реальному размеру дома.

Пример YAML ​

yaml
type: custom:dreame-vacuum-card
entity: vacuum.l10s_gen2

map_config:
  map_1:
    object_scale: 7
    width: 250
    height: 183
    opacity: 0.45
    hidden_objects:
      - customized_cleaning
      - floor
      - name
      - name_background
      - no_go
      - no_mop
      - order
      - walls
    background_image:
      url: /local/home.png
      left: 77
      top: 10.3
      width: 250
      height: 183
      opacity: 0.75
    overlay_image:
      url: /local/home_overlay.png
      opacity: 0.9
  map_2:
    left: 41
    top: -12
    width: 269
    height: 171
    background_image:
      url: /local/second_floor_bg.png