Deprecate ol.DeviceOrientation

This commit is contained in:
Frederic Junod
2017-08-29 16:20:27 +02:00
parent 48bcaf395f
commit 34428cfea6
5 changed files with 39 additions and 34 deletions

View File

@@ -1,8 +1,9 @@
goog.require('ol.DeviceOrientation');
// NOCOMPILE
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');
goog.require('ol.layer.Tile');
goog.require('ol.math');
goog.require('ol.proj');
goog.require('ol.source.OSM');
@@ -28,32 +29,28 @@ var map = new ol.Map({
view: view
});
var deviceOrientation = new ol.DeviceOrientation();
function el(id) {
return document.getElementById(id);
}
el('track').addEventListener('change', function() {
deviceOrientation.setTracking(this.checked);
});
deviceOrientation.on('change', function() {
el('alpha').innerText = deviceOrientation.getAlpha() + ' [rad]';
el('beta').innerText = deviceOrientation.getBeta() + ' [rad]';
el('gamma').innerText = deviceOrientation.getGamma() + ' [rad]';
el('heading').innerText = deviceOrientation.getHeading() + ' [rad]';
});
// tilt the map
deviceOrientation.on(['change:beta', 'change:gamma'], function(event) {
var center = view.getCenter();
var resolution = view.getResolution();
var beta = event.target.getBeta() || 0;
var gamma = event.target.getGamma() || 0;
center[0] -= resolution * gamma * 25;
center[1] += resolution * beta * 25;
view.setCenter(view.constrainCenter(center));
var gn = new GyroNorm();
gn.init().then(function() {
gn.start(function(event) {
var center = view.getCenter();
var resolution = view.getResolution();
var alpha = ol.math.toRadians(event.do.beta);
var beta = ol.math.toRadians(event.do.beta);
var gamma = ol.math.toRadians(event.do.gamma);
el('alpha').innerText = alpha + ' [rad]';
el('beta').innerText = beta + ' [rad]';
el('gamma').innerText = gamma + ' [rad]';
center[0] -= resolution * gamma * 25;
center[1] += resolution * beta * 25;
view.setCenter(view.constrainCenter(center));
});
});