-
Data Grid
- Overview
-
Data Binding
-
Paging and Scrolling
-
Editing
-
Grouping
-
Filtering and Sorting
- Focused Row
-
Row Drag & Drop
-
Selection
-
Columns
- State Persistence
-
Appearance
-
Templates
-
Data Summaries
-
Master-Detail
-
Export to PDF
-
Export to Excel
-
Adaptability
- Keyboard Navigation
-
Pivot Grid
- Overview
-
Data Binding
-
Field Chooser
-
Features
-
Export to Excel
-
Tree List
- Overview
-
Data Binding
- Sorting
- Paging
-
Editing
- Node Drag & Drop
- Focused Row
-
Selection
-
Filtering
-
Column Customization
- State Persistence
- Adaptability
- Keyboard Navigation
-
Scheduler
- Overview
-
Data Binding
-
Views
-
Features
- Virtual Scrolling
-
Grouping
-
Customization
- Adaptability
-
Html Editor
-
Chat
-
Diagram
- Overview
-
Data Binding
-
Featured Shapes
-
Custom Shapes
-
Document Capabilities
-
User Interaction
- UI Customization
- Adaptability
-
Charts
- Overview
-
Data Binding
-
Area Charts
-
Bar Charts
- Bullet Charts
-
Doughnut Charts
-
Financial Charts
-
Line Charts
-
Pie Charts
-
Point Charts
-
Polar and Radar Charts
-
Range Charts
-
Sparkline Charts
-
Tree Map
-
Funnel and Pyramid Charts
- Sankey Chart
-
Combinations
-
More Features
-
Export
-
Selection
-
Tooltips
-
Zooming
-
-
Gantt
- Overview
-
Data
-
UI Customization
- Strip Lines
- Export to PDF
- Sorting
-
Filtering
-
Reporting
-
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
-
Gauges
- Overview
-
Data Binding
-
Bar Gauge
-
Circular Gauge
-
Linear Gauge
-
Navigation
- Overview
- Accordion
-
Menu
- Multi View
-
Drawer
-
Tab Panel
-
Tabs
-
Toolbar
- Pagination
-
Tree View
- Right-to-Left Support
-
Layout
-
Tile View
- Splitter
-
Gallery
- Scroll View
- Resizable
-
-
Editors
- Overview
- Autocomplete
-
Calendar
- Check Box
- Color Box
- Date Box
-
Date Range Box
-
Drop Down Box
-
Number Box
-
Select Box
- Switch
-
Tag Box
- Text Area
- Text Box
- Validation
- Custom Text Editor Buttons
- Right-to-Left Support
- Editor Appearance Variants
-
Forms and Multi-Purpose
- Overview
- Button Group
- Field Set
-
Filter Builder
-
Form
- Radio Group
-
Range Selector
- Numeric Scale (Lightweight)
- Numeric Scale
- Date-Time Scale (Lightweight)
- Date-Time Scale
- Logarithmic Scale
- Discrete scale
- Custom Formatting
- Use Range Selection for Calculation
- Use Range Selection for Filtering
- Image on Background
- Chart on Background
- Customized Chart on Background
- Chart on Background with Series Template
- Range Slider
- Slider
-
Sortable
-
File Management
-
File Manager
- Overview
-
File System Types
-
Customization
-
File Uploader
-
-
Actions and Lists
-
Maps
- Overview
-
Map
-
Vector Map
-
Dialogs and Notifications
-
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.
Was this demo helpful?
Feel free to share demo-related thoughts here.
If you have technical questions, please create a support ticket in the DevExpress Support Center.
Thank you for the feedback!
If you have technical questions, please create a support ticket in the DevExpress Support Center.
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;
using Newtonsoft.Json;
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;
}