constructScaleElements (values: Array)
values. Массив значений, по которым нужно построить шкалу.
Метод constructScaleElements конструирует коллекцию интервалов шкалы на основе переданных данных
Для выполнения примера необходимо наличие на html-странице компонента MapChart (см. «Размещение карты на HTML странице») с наименованием «map», xml-файла с настройками карты и топоосновы Russia.svg.
Xml-файл должен содержать настройку показателя заливки, который расположен первым в списке показателей карты. Фон заливки - объект зависимости, для которого настроена шкала, содержащая значения типа Brush. Также в xml-файле должна быть настроена легенда с идентификатором «MapLegend0».
Создадим массив с данными и рассчитаем интервалы шкалы на его основе.
Разбиение на интервалы в режиме «Равные интервалы» (Весь диапазон данных разбивается на заданное количество групп, содержащих одинаковое число единиц, которые при этом получаются разными по длине):
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; //создаем массив данных
// количество элементов
var count = data.length;
// минимальное значение
var min = scale.setMinValue(data[0]);
// максимальное значение
var max = scale.setMaxValue(data[count - 1]);
scale = map.getFirstVisual().getBackground().getMapScale();
scale.setMode("Uniform");//разбиение на интервалы в режиме «Равные интервалы»
scale.setRecalcValues(true); //пересчитываем коллекцию значений шкалы
scale.constructScaleElements(data); //строим шкалу по новым данным
legend = map.getLegends().MapLegend0;
legend.draw(); //отрисуем легенду
Разбиение на интервалы в режиме «Линейно» (Весь диапазон данных разбивается на заданное количество равных по длине групп.):
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; //создаем массив данных
// количество элементов
var count = data.length;
// минимальное значение
var min = scale.setMinValue(data[0]);
// максимальное значение
var max = scale.setMaxValue(data[count - 1]);
scale = map.getFirstVisual().getBackground().getMapScale();
scale.setMode("Linear");//разбиение на интервалы в режиме «Линейно»
scale.setRecalcValues(true); //пересчитываем коллекцию значений шкалы
scale.constructScaleElements(data); //строим шкалу по новым данным
legend = map.getLegends().MapLegend0;
legend.draw(); //отрисуем легенду
После выполнения примера интервалы шкалы будут рассчитаны на основе данных из созданного массива, будут установлены минимальное и максимальное значения шкалы и перерисутются легенда и карта:
Равные интервалы:
Линейно:
См. также: