1 | goog.require('ol.Map');
|
2 | goog.require('ol.View');
|
3 | goog.require('ol.events.condition');
|
4 | goog.require('ol.format.GeoJSON');
|
5 | goog.require('ol.interaction.Extent');
|
6 | goog.require('ol.layer.Tile');
|
7 | goog.require('ol.layer.Vector');
|
8 | goog.require('ol.source.OSM');
|
9 | goog.require('ol.source.Vector');
|
10 |
|
11 | var vectorSource = new ol.source.Vector({
|
12 | url: 'data/geojson/countries.geojson',
|
13 | format: new ol.format.GeoJSON()
|
14 | });
|
15 |
|
16 | var map = new ol.Map({
|
17 | layers: [
|
18 | new ol.layer.Tile({
|
19 | source: new ol.source.OSM()
|
20 | }),
|
21 | new ol.layer.Vector({
|
22 | source: vectorSource
|
23 | })
|
24 | ],
|
25 | target: 'map',
|
26 | view: new ol.View({
|
27 | center: [0, 0],
|
28 | zoom: 2
|
29 | })
|
30 | });
|
31 |
|
32 | var extent = new ol.interaction.Extent({
|
33 | condition: ol.events.condition.platformModifierKeyOnly
|
34 | });
|
35 | map.addInteraction(extent);
|
36 | extent.setActive(false);
|
37 |
|
38 |
|
39 | this.addEventListener('keydown', function(event) {
|
40 | if (event.keyCode == 16) {
|
41 | extent.setActive(true);
|
42 | }
|
43 | });
|
44 | this.addEventListener('keyup', function(event) {
|
45 | if (event.keyCode == 16) {
|
46 | extent.setActive(false);
|
47 | }
|
48 | });
|