UNPKG

1.25 kBJavaScriptView Raw
1// NOCOMPILE
2goog.require('ol.Map');
3goog.require('ol.View');
4goog.require('ol.control');
5goog.require('ol.layer.Tile');
6goog.require('ol.math');
7goog.require('ol.proj');
8goog.require('ol.source.OSM');
9
10var projection = ol.proj.get('EPSG:3857');
11var view = new ol.View({
12 center: [0, 0],
13 projection: projection,
14 extent: projection.getExtent(),
15 zoom: 2
16});
17var map = new ol.Map({
18 layers: [
19 new ol.layer.Tile({
20 source: new ol.source.OSM()
21 })
22 ],
23 target: 'map',
24 controls: ol.control.defaults({
25 attributionOptions: {
26 collapsible: false
27 }
28 }),
29 view: view
30});
31
32function el(id) {
33 return document.getElementById(id);
34}
35
36
37var gn = new GyroNorm();
38
39gn.init().then(function() {
40 gn.start(function(event) {
41 var center = view.getCenter();
42 var resolution = view.getResolution();
43 var alpha = ol.math.toRadians(event.do.beta);
44 var beta = ol.math.toRadians(event.do.beta);
45 var gamma = ol.math.toRadians(event.do.gamma);
46
47 el('alpha').innerText = alpha + ' [rad]';
48 el('beta').innerText = beta + ' [rad]';
49 el('gamma').innerText = gamma + ' [rad]';
50
51 center[0] -= resolution * gamma * 25;
52 center[1] += resolution * beta * 25;
53
54 view.setCenter(view.constrainCenter(center));
55 });
56});