UNPKG

1.06 kBJavaScriptView Raw
1goog.require('ol.Map');
2goog.require('ol.View');
3goog.require('ol.interaction.Draw');
4goog.require('ol.layer.Tile');
5goog.require('ol.layer.Vector');
6goog.require('ol.source.OSM');
7goog.require('ol.source.Vector');
8
9var raster = new ol.layer.Tile({
10 source: new ol.source.OSM()
11});
12
13var source = new ol.source.Vector({wrapX: false});
14
15var vector = new ol.layer.Vector({
16 source: source
17});
18
19var map = new ol.Map({
20 layers: [raster, vector],
21 target: 'map',
22 view: new ol.View({
23 center: [-11000000, 4600000],
24 zoom: 4
25 })
26});
27
28var typeSelect = document.getElementById('type');
29
30var draw; // global so we can remove it later
31function addInteraction() {
32 var value = typeSelect.value;
33 if (value !== 'None') {
34 draw = new ol.interaction.Draw({
35 source: source,
36 type: /** @type {ol.geom.GeometryType} */ (typeSelect.value),
37 freehand: true
38 });
39 map.addInteraction(draw);
40 }
41}
42
43
44/**
45 * Handle change event.
46 */
47typeSelect.onchange = function() {
48 map.removeInteraction(draw);
49 addInteraction();
50};
51
52addInteraction();