React VectorMap - layers
borderColor
This property does not apply if the layer type is "line".
This property supports the following colors:
- Hexadecimal colors
- RGB colors
- RGBA colors
- Predefined/cross-browser color names
- Predefined SVG colors
- Paint server address
borderWidth
Specifies the line width (for layers of a line type) or width of the layer elements border in pixels.
color
This property supports the following colors:
- Hexadecimal colors
- RGB colors
- RGBA colors
- Predefined/cross-browser color names
- Predefined SVG colors
- Paint server address
colorGroupingField
If you need for the color of a specific map area to depend on the value of one of its attributes, assign the name of this attribute to the colorGroupingField property. The attribute must contain numeric values. After that, specify groups into which attribute values must be classified. For this purpose, assign an array to the colorGroups property. Each group in this array will be assigned a color from the palette.
colorGroups
If you have specified the field that provides area-coloring data, you need to specify groups into which this data must be classified. For this purpose, assign an array of numbers to the colorGroups property. Each pair of numbers in this array defines a range of data values.
For example, imagine that the colorGroups array contains four items: [0, 1, 2, 3]. This array specifies three ranges, or groups: 0-1, 1-2 and 2-3. Thus, data values will be split up into three groups. Each group will be assigned a color from the palette in order to paint the corresponding areas. Areas of those data values that do not match neither group will be drawn in a default color.
customize
dataField
Specifies the name of the attribute containing marker data. Setting this property makes sense only if the layer type is "marker" and the elementType is "bubble", "pie" or "image".
elementType
Specifies the type of a marker element. Setting this property makes sense only if the layer type is "marker".
hoveredBorderColor
This property does not apply if the layer type is "line".
This property supports the following colors:
- Hexadecimal colors
- RGB colors
- RGBA colors
- Predefined/cross-browser color names
- Predefined SVG colors
- Paint server address
hoveredBorderWidth
Specifies the pixel-measured line width (for layers of a line type) or width for the border of the layer element when it is hovered over.
hoveredColor
This property supports the following colors:
- Hexadecimal colors
- RGB colors
- RGBA colors
- Predefined/cross-browser color names
- Predefined SVG colors
- Paint server address
hoverEnabled
If this property is set to true, you can specify colors for the hovered layer element and its border using the hoveredColor and hoveredBorderColor properties, respectively.
label
A marker label is a text that accompanies a map marker. Usually, a marker label displays the name of a certain geographical point.
To specify a text to be used in a marker label, place it in a field of the marker object. After that, assign the name of this field to the label.dataField property. Finally, enable marker labels by assigning true to the label.enabled property.
maxSize
Specifies the pixel-measured diameter of the marker that represents the biggest value. Setting this property makes sense only if the layer type is "marker".
When you use bubble markers on your map, their sizes depend on their values. The biggest value will be represented by the largest bubble. Similarly, the smallest value will be represented by the smallest bubble. Bubbles that represent values in between will have sizes proportional to the represented values. To specify the sizes of the largest and smallest bubbles, use the maxSize and minSize properties of the layers object.
minSize
Specifies the pixel-measured diameter of the marker that represents the smallest value. Setting this property makes sense only if the layer type is "marker".
When you use bubble markers on your map, their sizes depend on their values. The biggest value will be represented by the largest bubble. Similarly, the smallest value will be represented by the smallest bubble. Bubbles that represent values in between will have sizes proportional to the represented values. To specify the sizes of the largest and smallest bubbles, use the maxSize and minSize properties of the layers object.
palette
A palette defines a range of colors that are used to paint layer elements. This range is divided into segments by the value of the paletteSize property. Each segment contributes a color to the resulting array of colors. The more segments there are, the greater the variety of colors in this array. Available predefined palettes are listed in the accepted values.
Use the paletteIndex to iterate through the palette[] array within the customize function. For each element, apply the palette as follows:
jQuery
$(function() { $("#vectorMapContainer").dxVectorMap({ // ... layers: [{ dataSource: DevExpress.viz.map.sources.world, palette: "Material", paletteSize: 7, customize: function(elements) { elements.forEach(function(element, index) { element.applySettings({ paletteIndex: index % 7 }); }); } }] }); });
Angular
<dx-vector-map ... > <dxi-layer [dataSource]="worldMap" palette="Material" [paletteSize]="7" [customize]="colorizeMap"> </dxi-layer> </dx-vector-map>
import { Component } from '@angular/core'; import * as mapsData from 'devextreme/dist/js/vectormap-data/world.js'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { constructor() { this.colorizeMap = this.colorizeMap.bind(this); } worldMap: any = mapsData.world; colorizeMap(elements) { elements.forEach((element, index) => { element.applySettings({ paletteIndex: index % 7 }); }); } }
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { DxVectorMapModule } from 'devextreme-angular'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, DxVectorMapModule ], providers: [ ], bootstrap: [AppComponent] }) export class AppModule { }
Vue
<template> <DxVectorMap ... > <DxLayer :data-source="worldMap" palette="Material" :palette-size="7" :customize="colorizeMap" /> </DxVectorMap> </template> <script> import * as mapsData from 'devextreme/dist/js/vectormap-data/world.js'; import DxVectorMap, { DxLayer } from 'devextreme-vue/vector-map'; export default { components: { DxVectorMap, DxLayer }, data() { return { worldMap: mapsData.world } }, methods: { colorizeMap(elements) { elements.forEach((element, index) => { element.applySettings({ paletteIndex: index % 7 }); }); } } } </script>
React
import React from 'react'; import { VectorMap, Layer } from 'devextreme-react/vector-map'; import * as mapsData from 'devextreme/dist/js/vectormap-data/world.js' const worldMap = mapsData.world; function colorizeMap(elements) { elements.forEach((element, index) => { element.applySettings({ paletteIndex: index % 7 }); }); } export default function App() { return ( <VectorMap> <Layer dataSource={worldMap} paletteSize={7} customize={this.colorizeMap} palette="Material" /> </VectorMap> ); }
paletteIndex
The position of a color in the palette[] array. Should not exceed the value of the paletteSize property.
Use this property to specify a different color for each layer element. Refer to the palette description for a code example.
paletteSize
Assign a number that is greater than 0 to this property in order to use palettes.
selectedBorderColor
Specifies a color for the border of the layer element when it is selected.
This property does not apply if the layer type is "line".
This property supports the following colors:
- Hexadecimal colors
- RGB colors
- RGBA colors
- Predefined/cross-browser color names
- Predefined SVG colors
- Paint server address
selectedBorderWidth
Specifies a pixel-measured line width (for layers of a line type) or width for the border of the layer element when it is selected.
selectedColor
Specifies a color for the layer element when it is selected.
This property supports the following colors:
- Hexadecimal colors
- RGB colors
- RGBA colors
- Predefined/cross-browser color names
- Predefined SVG colors
- Paint server address
selectionMode
Several properties and methods are connected with the selection operation. To specify whether single or multiple areas can be selected at a time, use the selectionMode property. To determine whether a certain area is selected when the UI component is created, use the isSelected field of the object returned by the customize callback function.
At runtime, you can do the following operations.
Obtain the current selection state of a layer element using its selected() method.
Change the current selection state of a layer element using its selected(state) method. Pass true or false to this method.
Deselect all the selected layer elements using the clearSelection() method of the map layer.
The change of the selection state invokes the callback function assigned to the onSelectionChanged property. Within this function, you can handle the selection event in the manner you require.
size
Specifies the size of markers. Setting this property makes sense only if the layer type is "marker" and the elementType is "dot", "pie" or "image".
sizeGroupingField
Specifies the field that provides data to be used for sizing bubble markers. Setting this property makes sense only if the layer type is "marker" and the elementType is "bubble".
If you need the size of the bubble marker to depend on the value of one of its attributes, assign the name of this attribute to the sizeGroupingField property. The attribute must contain numeric values. After that, specify groups into which attribute values must be classified by assigning an array to the sizeGroups property.
sizeGroups
Allows you to display bubbles with similar attributes in the same size. Setting this property makes sense only if the layer type is "marker" and the elementType is "bubble".
If you have specified the field that provides marker-sizing data, you need to specify groups into which this data must be classified. For this purpose, assign an array of numbers to the sizeGroups property. Each pair of numbers in this array defines a range of data values.
For example, consider that the sizeGroups array contains four items: [0, 1, 2, 3]. This array specifies three ranges, or groups: 0-1, 1-2 and 2-3. Thus, data values will be split up into three groups. Each group will be assigned a size correlating with the group values. This size will be calculated automatically taking into account the minSize and maxSize values. Markers of those data values that do not match neither group will have a default size.
If you have technical questions, please create a support ticket in the DevExpress Support Center.