UNPKG

1.37 kBJavaScriptView Raw
1goog.require('ol.Map');
2goog.require('ol.View');
3goog.require('ol.format.KML');
4goog.require('ol.layer.Heatmap');
5goog.require('ol.layer.Tile');
6goog.require('ol.source.Stamen');
7goog.require('ol.source.Vector');
8
9var blur = document.getElementById('blur');
10var radius = document.getElementById('radius');
11
12var vector = new ol.layer.Heatmap({
13 source: new ol.source.Vector({
14 url: 'data/kml/2012_Earthquakes_Mag5.kml',
15 format: new ol.format.KML({
16 extractStyles: false
17 })
18 }),
19 blur: parseInt(blur.value, 10),
20 radius: parseInt(radius.value, 10)
21});
22
23vector.getSource().on('addfeature', function(event) {
24 // 2012_Earthquakes_Mag5.kml stores the magnitude of each earthquake in a
25 // standards-violating <magnitude> tag in each Placemark. We extract it from
26 // the Placemark's name instead.
27 var name = event.feature.get('name');
28 var magnitude = parseFloat(name.substr(2));
29 event.feature.set('weight', magnitude - 5);
30});
31
32var raster = new ol.layer.Tile({
33 source: new ol.source.Stamen({
34 layer: 'toner'
35 })
36});
37
38var map = new ol.Map({
39 layers: [raster, vector],
40 target: 'map',
41 view: new ol.View({
42 center: [0, 0],
43 zoom: 2
44 })
45});
46
47
48blur.addEventListener('input', function() {
49 vector.setBlur(parseInt(blur.value, 10));
50});
51
52radius.addEventListener('input', function() {
53 vector.setRadius(parseInt(radius.value, 10));
54});