Your search did not match any results.
Vector Map

Zooming and Centering

Documentation
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.
Copy to Codepen
Apply
Reset
var DemoApp = angular.module('DemoApp', ['dx']); DemoApp.controller('DemoController', function DemoController($scope) { $scope.vectorMapOptions = { tooltip: { enabled: true, customizeTooltip: function (arg) { if (arg.layer.type === "marker") { return { text: arg.attribute("name") }; } } }, onClick: function (e) { if (e.target && e.target.layer.type === "marker") { e.component.center(e.target.coordinates()).zoomFactor(10); } }, bounds: [-180, 85, 180, -60], layers: [{ dataSource: DevExpress.viz.map.sources.world, hoverEnabled: false }, { dataSource: markers }] }; $scope.buttonOptions = { text: "Reset", onClick: function () { $("#vector-map").dxVectorMap("instance").center(null) .zoomFactor(null); } }; });
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>DevExtreme Demo</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <script src="js/jquery-3.1.0.min.js"></script> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/17.1.4/css/dx.spa.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/17.1.4/css/dx.common.css" /> <link rel="dx-theme" data-theme="generic.light" href="https://cdn3.devexpress.com/jslib/17.1.4/css/dx.light.css" /> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.16/angular.min.js"></script> <script>window.angular || document.write(decodeURIComponent('%3Cscript src="js/angular.min.js"%3E%3C\/script%3E'))</script> <script src="https://cdn3.devexpress.com/jslib/17.1.4/js/dx.all.js"></script> <script src="https://cdn3.devexpress.com/jslib/17.1.4/js/vectormap-data/world.js"></script> <script src="https://cdn3.devexpress.com/jslib/17.1.4/js/vectormap-data/africa.js"></script> <script src="https://cdn3.devexpress.com/jslib/17.1.4/js/vectormap-data/canada.js"></script> <script src="https://cdn3.devexpress.com/jslib/17.1.4/js/vectormap-data/eurasia.js"></script> <script src="https://cdn3.devexpress.com/jslib/17.1.4/js/vectormap-data/europe.js"></script> <script src="https://cdn3.devexpress.com/jslib/17.1.4/js/vectormap-data/usa.js"></script> <script src="data.js"></script> <link rel="stylesheet" type ="text/css" href ="styles.css" /> <script src="index.js"></script> </head> <body class="dx-viewport"> <div class="demo-container" ng-app="DemoApp" ng-controller="DemoController"> <div id="vector-map" dx-vector-map="vectorMapOptions"></div> <div id="reset" dx-button="buttonOptions"></div> </div> </body> </html>
#vector-map { height: 420px; width: 100%; display: block; } #reset { margin-top: 10px; }
var markers = [ { coordinates: [-0.1262, 51.5002], attributes: { name: 'London' } }, { coordinates: [149.1286, -35.2820], attributes: { name: 'Canberra' } }, { coordinates: [139.6823, 35.6785], attributes: { name: 'Tokyo' } }, { coordinates: [-77.0241, 38.8921], attributes: { name: 'Washington' } }, { coordinates: [-75.6794, 45.4214], attributes: { name: 'Ottawa' } }, { coordinates: [37.617778, 55.751667], attributes: { name: 'Moscow' } }, { coordinates: [116.4, 39.933333], attributes: { name: 'Beijing' } }, { coordinates: [12.5, 41.9], attributes: { name: 'Rome' } }, { coordinates: [23.716667, 38], attributes: { name: 'Athens' } }, { coordinates: [2.333333, 48.833333], attributes: { name: 'Paris' } }, { coordinates: [-3.683333, 40.4], attributes: { name: 'Madrid' } }, { coordinates: [-47.866667, -15.798889], attributes: { name: 'Brasilia' } } ];