- 
                            Data Grids / Data Management- 
                Data Grid- Overview
- 
                Data Binding
- 
                Filtering
- Sorting
- 
                Editing
- 
                Grouping
- 
                Selection
- Focused Row
- Paging
- 
                Scrolling
- 
                Columns
- 
                Master-Detail
- 
                Data Summaries
- 
                Drag & Drop
- 
                Export to PDF
- 
                Export to Excel
- Appearance
- 
                Customization
- State Persistence
- 
                Adaptability
- 
                Keyboard Navigation
- Right-To-Left Support
 
- 
                Tree List- Overview
- 
                Data Binding
- 
                Filtering
- Sorting
- 
                Editing
- 
                Selection
- Focused Row
- Paging
- 
                Columns
- Drag & Drop
- State Persistence
- Adaptability
- 
                Keyboard Navigation
 
- 
                Card View
- 
                Pivot Grid- Overview
- 
                Data Binding
- 
                Field Management
- 
                Data Summaries
- Drill Down
- Filtering
- 
                Scrolling
- 
                Export to Excel
- Chart Integration
- Customization
- State Persistence
 
- 
                Filter Builder
 
- 
                
- 
                            Data Visualization- 
                Charts- Overview
- 
                Data Binding
- 
                Common Concepts- 
                Axis
- 
                Aggregation
- 
                Tooltips
- 
                Selection
- 
                Customization
- 
                Zooming
- 
                Export
 
- 
                
- 
                Area Charts
- 
                Bar Charts
- Bullet Charts
- 
                Doughnut Charts
- 
                Financial Charts
- 
                Funnel and Pyramid Charts
- 
                Line Charts
- Pareto Chart
- 
                Pie Charts
- 
                Point Charts
- 
                Polar and Radar Charts
- 
                Range Charts
- Sankey Chart
- 
                Sparkline Charts
- 
                Tree Map
 
- 
                Gauges- Overview
- 
                Runtime update
- 
                Bar Gauge
- 
                Circular Gauge
- 
                Linear Gauge
 
- 
                Diagram- Overview
- 
                Data Binding
- 
                Featured Shapes
- 
                Custom Shapes
- 
                Document Capabilities
- 
                User Interaction
- UI Customization
- Adaptability
 
 
- 
                
- 
                            Scheduling / Planning- 
                Scheduler- Overview
- 
                Data Binding
- 
                Views
- 
                Appointments
- 
                Timetable
- Editing
- 
                Grouping
- Virtual Scrolling
- Drag & Drop
- 
                Customization
- Adaptability
 
- 
                Gantt- Overview
- Data Binding
- 
                Filtering
- Sorting
- Strip Lines
- Export to PDF
- Validation
- 
                Customization
 
 
- 
                
- 
                            Reporting- 
                AI-powered Extensions
- 
                Interaction
- 
                Report Types
- 
                Data binding
- 
                Real-life Reports
- 
                Layout Features
- 
                Report Controls
- 
                Web-specific Features
 
- 
                
- 
                            Rich Text Editor- Overview
- Load/Save
- Document Protection
- 
                Templates
- Autocorrect
- 
                Customization
- Simple View
 
- 
                            Spreadsheet- Overview
- 
                Open a Document
- Export And Printing
- 
                Features
- 
                UI Customization
 
- 
                            Messaging
- 
                            WYSIWYG Editor
- 
                            Forms
- 
                            Data Editors- Overview
- 
                Common Concepts
- 
                Calendar
- Check Box
- Color Box
- Date Box
- 
                Date Range Box
- 
                Number Box
- Radio Group
- 
                Range Selector
- Range Slider
- Slider
- Speech To Text
- Switch
- Text Area
- Text Box
 
- 
                            Drop-Downs- Autocomplete
- 
                Drop Down Box
- 
                Select Box
- 
                Tag Box
- 
                Lookup
 
- 
                            Buttons
- 
                            File Upload / File Management- 
                File Manager- Overview
- 
                File System Types
- 
                Customization
 
- 
                File Uploader
 
- 
                
- 
                            Popup and Notifications
- 
                            Navigation- Overview
- Accordion
- 
                Context Menu
- 
                Menu
- Multi View
- 
                Drawer
- 
                Tab Panel
- 
                Tabs
- 
                Toolbar
- 
                Stepper
- Pagination
- 
                List
- 
                Tree View
- Right-to-Left Support
 
- 
                            Layout- 
                Tile View
- Splitter
- 
                Gallery
- Scroll View
 
- 
                
- 
                            Interactive Wrappers- 
                Sortable
- Resizable
 
- 
                
- 
                            Progress Indicators
- 
                            Maps- Overview
- 
                Map
- 
                Vector Map- 
                Data Binding
- Multiple Layers
- 
                Markers
- Legend
- 
                Zooming and Panning
- 
                Customization
 
- 
                
 
- 
                            Localization
Related Demos:
        
            Your search did not match any results.
        
    Vector Map - Zooming and Centering
This demo shows the VectorMap zooming and centering capabilities. The map contains several cities represented by dot markers. To identify a city, pause on its marker, and the name of the city will appear in a tooltip. Moreover, if you click the marker, the map will be zoomed and centered on it. In code it is performed by calling the center(centerCoordinates) and zoomFactor(zoomFactor) methods. A click on the «Reset» button restores default center coordinates and zoom factor.
            
            Backend API
        
    @(Html.DevExtreme().VectorMap()
    .ID("vector-map")
    .Tooltip(t => t
        .Enabled(true)
        .CustomizeTooltip("vectorMap_customizeTooltip")
    )
    .OnClick("vectorMap_onClick")
    .Bounds(new double[] { -180, 85, 180, -60 })
    .Layers(layers => {
        layers.Add()
            .DataSource(new JS("DevExpress.viz.map.sources.world"))
            .HoverEnabled(false);
        layers.Add()
            .DataSource(d => d.Mvc().LoadAction("GetMarkersForZoommingAndCentering"))
            .DataSourceOptions(dso => dso.Map("vectorMap_layer_dataSource_map"));
    })
)
@(Html.DevExtreme().Button()
    .ID("reset")
    .Text("Reset")
    .OnClick("button_onClick")
)
<script>
    function vectorMap_customizeTooltip(arg) {
        if(arg.layer.type === "marker") {
            return { text: arg.attribute("Name") };
        }
    }
    function vectorMap_onClick(e) {
        if(e.target && e.target.layer.type === "marker") {
            e.component.center(e.target.coordinates()).zoomFactor(10);
        }
    }
    function vectorMap_layer_dataSource_map(item) {
        return {
            coordinates: item.Coordinates,
            attributes: item.Attributes
        };
    }
    function button_onClick() {
        $("#vector-map").dxVectorMap("instance").center(null).zoomFactor(null);
    }
</script>
        
        using Microsoft.AspNetCore.Mvc;
using DevExtreme.NETCore.Demos.Models.SampleData;
namespace DevExtreme.NETCore.Demos.Controllers {
    public class VectorMapController : Controller {
        public ActionResult ZoomingAndCentering() {
            return View();
        }
        [HttpGet]
        public object GetMarkersForZoommingAndCentering() {
            return SampleData.VectorMapMarkerData;
        }
    }
}
        
        namespace DevExtreme.NETCore.Demos.Models {
    public class MarkerAttribute {
        public string Name { get; set; }
    }
}
        
        using System.Collections.Generic;
namespace DevExtreme.NETCore.Demos.Models {
    public class VectorMapMarker {
        public IEnumerable<double> Coordinates { get; set; }
        public MarkerAttribute Attributes { get; set; }
    }
}
        
        using System.Collections.Generic;
namespace DevExtreme.NETCore.Demos.Models.SampleData {
    public partial class SampleData {
        public static readonly IEnumerable<VectorMapMarker> VectorMapMarkerData = new[] {
            new VectorMapMarker() {
                Coordinates = new[] { -0.1262, 51.5002 },
                Attributes = new MarkerAttribute() {
                    Name = "London"
                }
            },
            new VectorMapMarker() {
                Coordinates = new[] { 149.1286, -35.2820 },
                Attributes = new MarkerAttribute() {
                    Name = "Canberra"
                }
            },
            new VectorMapMarker() {
                Coordinates = new[] { 139.6823, 35.6785 },
                Attributes = new MarkerAttribute() {
                    Name = "Tokyo"
                }
            },
            new VectorMapMarker() {
                Coordinates = new[] { -77.0241, 38.8921 },
                Attributes = new MarkerAttribute() {
                    Name = "Washington"
                }
            },
            new VectorMapMarker() {
                Coordinates = new[] { -75.6794, 45.4214 },
                Attributes = new MarkerAttribute() {
                    Name = "Ottawa"
                }
            },
            new VectorMapMarker() {
                Coordinates = new[] { 37.617778, 55.751667 },
                Attributes = new MarkerAttribute() {
                    Name = "Moscow"
                }
            },
            new VectorMapMarker() {
                Coordinates = new[] { 116.4, 39.933333 },
                Attributes = new MarkerAttribute() {
                    Name = "Beijing"
                }
            },
            new VectorMapMarker() {
                Coordinates = new[] { 12.5, 41.9 },
                Attributes = new MarkerAttribute() {
                    Name = "Rome"
                }
            },
            new VectorMapMarker() {
                Coordinates = new[] { 23.716667, 38 },
                Attributes = new MarkerAttribute() {
                    Name = "Athens"
                }
            },
            new VectorMapMarker() {
                Coordinates = new[] { 2.333333, 48.833333 },
                Attributes = new MarkerAttribute() {
                    Name = "Paris"
                }
            },
            new VectorMapMarker() {
                Coordinates = new[] { -3.683333, 40.4 },
                Attributes = new MarkerAttribute() {
                    Name = "Madrid"
                }
            },
            new VectorMapMarker() {
                Coordinates = new[] { -47.866667, -15.798889 },
                Attributes = new MarkerAttribute() {
                    Name = "Brasilia"
                }
            }
        };
    }
}
        
        #vector-map {
    height: 420px;
}
#reset {
    margin: 10px 2px;
}