PP.MapBubble(settings);
settings. JSON-объект со значениями свойств класса.
Конструктор MapBubble создаёт экземпляр класса MapBubble.
Для выполнения примера необходимо наличие на html-странице компонента MapChart с наименованием «map» (см. «Пример создания компонента MapChart»). Создадим пузырьковый показатель для области слоя карты с идентификатором «RU-KYA» и отобразим всплывающую подсказку для него:
// Возвращает слой с областями карты function getWorkLayer() { return map.getLayer("Regions"); } // Возвращает текущую отметку измерения для оси карты function getTimelineIndex() { return 1; } // Возвращает базовый класс пузырькового показателя карты function getBubbleVisual() { return map.getVisuals().bubbleVisual0; }
// Возвращает область слоя карты с указанным идентификатором function getShape(shapeId) { var shape = getWorkLayer().getParentLayer().getShape(shapeId); map.setBubbleHoverness(shape); return shape; } // Создаёт всплывающую подсказку function createToolTip() { var toolTip = new PP.Ui.ChartTooltipBase({ HoverMode: PP.HoverMode.Click, MaskText: { IsAuto: true, Value: "{%Name}" } }); toolTip.setFont(new PP.Font({ Color: PP.Color.Colors.white })); return toolTip; }
// Отрисовывает всплывающую подсказку function drawToolTip(mapBubble) { // Определяем цвет заливки всплывающей подсказки mapBubble.getToolTip().setBackground(new PP.SolidColorBrush({ Color: mapBubble.getToolTipColor(), Opacity: 0.5 })); // Определяем границу всплывающей подсказки для пузырькового показателя mapBubble.getToolTip().setBorder(new PP.Border({ Color: mapBubble.getChart().getToolTipColor(mapBubble, PP.Color.Colors.darkblue), Width: 2, Radius: 3 })); /* Используем собственный цвет границы для всплывающей подсказки пузырькового показателя */ mapBubble.getChart().setUseItemColorForToolTipBorder(false); // Отображаем всплывающую подсказку mapBubble.toggleToolTip(); }
// Создаёт пузырьковый показатель function createMapBubble() { // Создаём пузырьковый показатель var mapBubble = new PP.MapBubble({ Chart: map, Shape: getShape("RU-KYA"), Visual: getBubbleVisual(), Layer: getWorkLayer(), // Слой карты LeastSizePart: 30, // Минимальный диаметр пузырька ToolTip: createToolTip(), // Всплывающая подсказка }); // Обновляет пузырьковый показатель mapBubble.refresh = function() { // Удаляем пузырьковый показатель со слоя карты clearMapBubble(this); // Проверяем наличие нескольких сопоставлений данных if (!mapBubble.isMeta()) { this._isDrawed = false; } // Перерисовываем пузырьковый показатель this.draw(); // Отображаем пузырьковый показатель this.renderFrame(this.getChart().getBubbleLayer()) };
return mapBubble; } // Удаляет пузырьковый показатель со слоя карты function clearMapBubble(mapBubble) { mapBubble.clear(); mapBubble.getChart().getBubbleLayer().clear(); } // Отрисовывает пузырьковый показатель function drawMapBubble(mapBubble) { mapBubble.setSelectedIndex(getTimelineIndex()); mapBubble.getLayer().getMapBubbleCollection().push(mapBubble); // Отрисовываем пузырьковый показатель mapBubble.draw(); // Устанавливаем расположение показателя var shapeCenter = mapBubble.getShape().getCenter() mapBubble.updatePosition(shapeCenter.getX(), shapeCenter.getY()); // Перерисовываем слой карты getWorkLayer().renderFrame(); }
// Выводит информацию, отображаемую в всплывающей подсказке function printToolTipInfo(mapBubble) { // Устанавливаем пузырьковый показатель var bubble1 = {}; var bubbleKey = "mapBubble"; bubble1[bubbleKey] = mapBubble.getSettings();
getWorkLayer().setBubbles(bubble1); var bubble2 = getWorkLayer().getBubbles()["mapBubble"]; console.log("Всплывающая подсказка отображает данные для региона «%s» за %s год", bubble2.getShapeId(), bubble2.getToolTipValues().TimelineStep); } // Создаём пузырьковый показатель var mapBubble = createMapBubble(); // Отрисовываем данный показатель drawMapBubble(mapBubble); // Отображаем всплывающую подсказку drawToolTip(mapBubble);
В результате выполнения примера были отображены пузырьковый показатель для области слоя карты с идентификатором «RU-KYA» и всплывающая подсказка для данного показателя:
Определим, для какого региона и за какой год отображены данные на всплывающей подсказке:
printToolTipInfo(mapBubble);
После выполнения примера в консоли браузера будут выведены идентификатор региона и год, для которых отображены данные на подсказке:
Всплывающая подсказка отображает данные для региона «RU-KYA» за 2003 год
См. также: