Chart: PP.MapChart;
Свойство Chart определяет карту, для территорий которой создана расшифровка.
Значение свойства устанавливается из JSON и с помощью метода setChart, а возвращается с помощью метода getChart.
Для выполнения примера необходимо наличие на html-странице компонента MapChart с наименованием «map» (см. «Пример создания компонента MapChart»). Создадим расшифровку территорий карты, отобразим её последнюю страницу и подсветим элемент, соответствующий области слоя карты с идентификатором «RU-KYA»:
// Возвращает слой с областями карты function getWorkLayer() { return map.getLayer("Regions"); } // Возвращает количество областей слоя карты function getShapesCount() { var count = 0; for (var i in getWorkLayer().getShapes()) { count++; } return count; } // Возвращает область слоя карты с указанным идентификатором function getShape(shapeId) { return getWorkLayer().getParentLayer().getShape(shapeId); } // Создаёт расшифровку территорий карты function createMapTerritoryTranscript() { var mapTerritoryTranscript = new PP.MapTerritoryTranscript({ CellSpacing: 3, // Отступ элементов Chart: map, // Карта, для территорий которой создаём расшифровку ParentLayer: getWorkLayer(), // Слой, из которого берём области карты MaxItemCount: getShapesCount() / 2, // Максимальное количество элементов ItemsOrder: PP.Ui.LegendItemsOrder.TopToBottomByPages, // Порядок следования элементов PageMode: PP.Ui.LegendPageMode.MultiplePages // Используем многостраничный режим }); return mapTerritoryTranscript; } // Отрисовывает расшифровку территорий карты function drawMapTerritoryTranscript(mapTerritoryTranscript) { var freeArea = new PP.Rect({ Left: 150, Top: 280, Width: 450, Height: 150 }); // Отрисовывает расшифровку mapTerritoryTranscript.draw(freeArea, map.getDomNode()); // Уменьшаем масштаб карты map.setScale(0.75); } // Создаём расшифровку территорий карты var mapTerritoryTranscript = createMapTerritoryTranscript(); // Отрисовываем расшифровку территорий drawMapTerritoryTranscript(mapTerritoryTranscript); // Отображаем последнюю страницу в расшифровке mapTerritoryTranscript.setCurrentPage(mapTerritoryTranscript.getPagesCount() - 1); // Подсвечиваем в расшифровке территорий область слоя карты с идентификатором «RU-KYA» mapTerritoryTranscript.highlight(getShape("RU-KYA"), true);
В результате выполнения примера была создана расшифровка территорий карты, отображена её последняя страница, подсвечен элемент, соответствующий области слоя карты с идентификатором «RU-KYA»:
См. также: