Перейти к содержанию

MapMarkerHandle

Дескриптор для удобной настройки положения, экранного размера, масштабирования от зума, опорной точки (pivot) и видимости маркера на MapCanvas.

Обзор

MapMarkerHandle предоставляет удобный дескриптор для настройки виджетов, добавленных в качестве маркеров на MapCanvas.

Ключевые возможности: - Перемещение в координатах карты (position) или во внешних мировых координатах (projectedPosition). - Фиксированные экранные размеры с ограничением минимального и максимального зума (screenSize, minScreenSize, maxScreenSize). - Динамическое масштабирование размера от зума относительно опорного зума (zoomScaling). - Настройка опорной точки привязки (pivot) и отсечение за пределами экрана (cullOutsideViewport). - Настройка диапазонов видимости по уровню зума для LOD (visibleZoom).

Настройка маркера через дескриптор

MapMarkerHandle<MapMarker> handle = map.addMarker("home", 128.0f, 256.0f, "Base")
    .screenSize(32.0f, 32.0f)
    .pivot(0.5f, 1.0f);

Связанные ссылки

  • AnchorWidget: Пространственный якорь, привязывающий экранный UI-виджет к мировым координатам с масштабированием от зума, настройкой pivot и отсечением вне экрана.
  • MapCanvas: Интерактивный виджет 2D-карты, расширяющий WorldCanvas поддержкой размеров карты, слоями текстур и сетки, проекцией координат и маркерами.
  • MapMarker: Базовая оболочка маркера для MapCanvas с поддержкой произвольного контента, текстовых меток, состояний выбора и подсветки.

API

MapMarkerHandle::anchor()

Возвращает низкоуровневый AnchorWidget, управляющий маркером.

Возвращает AnchorWidget: Управляющий AnchorWidget..

MapMarkerHandle::cullOutsideViewport(boolean)

Включает или отключает автоматическое отсечение маркера вне видимой области экрана.

Параметр Тип Описание
cullOutsideViewport boolean Скрывать ли маркер автоматически при выходе за пределы области просмотра.

Возвращает MapMarkerHandle: Текущий экземпляр для цепочки вызовов..

MapMarkerHandle::id()

Возвращает уникальный строковый идентификатор этого маркера на карте.

Возвращает String: Строковый идентификатор или текст..

MapMarkerHandle::mapX()

Возвращает координату X маркера в системе координат карты.

Возвращает float: Координата или числовое значение с плавающей точкой..

MapMarkerHandle::mapY()

Возвращает координату Y маркера в системе координат карты.

Возвращает float: Координата или числовое значение с плавающей точкой..

MapMarkerHandle::maxScreenSize(float, float)

Устанавливает максимальные экранные размеры маркера для предотвращения чрезмерного увеличения при приближении.

Параметр Тип Описание
width float Ширина.
height float Высота.

Возвращает MapMarkerHandle: Текущий экземпляр для цепочки вызовов..

MapMarkerHandle::minScreenSize(float, float)

Устанавливает минимальные экранные размеры маркера для предотвращения сильного сжатия при отдалении.

Параметр Тип Описание
width float Ширина.
height float Высота.

Возвращает MapMarkerHandle: Текущий экземпляр для цепочки вызовов..

MapMarkerHandle::pivot(float, float)

Задает нормализованную опорную точку (pivot от 0.0 до 1.0) внутри границ маркера.

Параметр Тип Описание
x float Горизонтальная координата X.
y float Вертикальная координата Y.

Возвращает MapMarkerHandle: Текущий экземпляр для цепочки вызовов..

MapMarkerHandle::position(float, float)

Позиционирует маркер в координатах карты.

Параметр Тип Описание
mapX float Целевая координата X в единицах карты.
mapY float Целевая координата Y в единицах карты.

Возвращает MapMarkerHandle: Текущий экземпляр для цепочки вызовов..

MapMarkerHandle::priority()

Возвращает пользовательский приоритет сортировки маркера.

Возвращает int: Числовое количество..

MapMarkerHandle::priority(int)

Устанавливает пользовательский приоритет сортировки маркера.

Параметр Тип Описание
priority int Значение приоритета для сортировки и кластеризации маркера.

Возвращает MapMarkerHandle: Текущий экземпляр для цепочки вызовов..

MapMarkerHandle::projectedPosition(float, float)

Позиционирует маркер во внешних мировых координатах через проекцию MapCanvas.

Параметр Тип Описание
worldX float Целевая координата X во внешних единицах мира.
worldY float Целевая координата Y во внешних единицах мира.

Возвращает MapMarkerHandle: Текущий экземпляр для цепочки вызовов..

MapMarkerHandle::screenSize(float, float)

Устанавливает базовые фиксированные экранные размеры маркера в пикселях интерфейса.

Параметр Тип Описание
width float Ширина.
height float Высота.

Возвращает MapMarkerHandle: Текущий экземпляр для цепочки вызовов..

MapMarkerHandle::visible(boolean)

Устанавливает флаг ручной видимости маркера.

Параметр Тип Описание
visible boolean Флаг видимости.

Возвращает MapMarkerHandle: Текущий экземпляр для цепочки вызовов..

MapMarkerHandle::visibleZoom(float, float)

Ограничивает видимость маркера указанным диапазоном масштаба зума.

Параметр Тип Описание
minZoom float Минимально допустимый масштаб зума.
maxZoom float Максимально допустимый масштаб зума.

Возвращает MapMarkerHandle: Текущий экземпляр для цепочки вызовов..

MapMarkerHandle::widget()

Возвращает UI-виджет, отображаемый в качестве маркера.

Возвращает Widget: Значение T..

MapMarkerHandle::zoomScaling(boolean, float)

Настраивает динамическое масштабирование размеров маркера в зависимости от зума карты.

Параметр Тип Описание
zoomScaling boolean True для динамического масштабирования размера маркера от зума.
referenceZoom float Уровень зума, при котором маркер отображается в базовом размере.

Возвращает MapMarkerHandle: Текущий экземпляр для цепочки вызовов..