Merge pull request #1348 from tschaub/beforechange
Add `ol.ObjectEvent` for changes to `ol.Object` properties. Previously, `ol.Object` dispatched instances of `goog.events.Event` with type `change`. Now `ol.ObjectEvent` instances will be dispatched on property changes. The events include a `getKey` method to get the name of the property being changed. The `beforepropertychange` type event is fired before a property value changes, and the `propertychange` type event fires after the property value changes.
This commit is contained in:
@@ -25,11 +25,13 @@ var deviceOrientation = new ol.DeviceOrientation();
|
||||
var track = new ol.dom.Input(document.getElementById('track'));
|
||||
track.bindTo('checked', deviceOrientation, 'tracking');
|
||||
|
||||
deviceOrientation.on('change', function(event) {
|
||||
document.getElementById('alpha').innerHTML = event.target.getAlpha();
|
||||
document.getElementById('beta').innerHTML = event.target.getBeta();
|
||||
document.getElementById('gamma').innerHTML = event.target.getGamma();
|
||||
document.getElementById('heading').innerHTML = event.target.getHeading();
|
||||
deviceOrientation.on('propertychange', function(event) {
|
||||
// event.getKey() is the changed property name
|
||||
var key = event.getKey();
|
||||
var element = document.getElementById(key);
|
||||
if (element) {
|
||||
element.innerHTML = deviceOrientation.get(key);
|
||||
}
|
||||
});
|
||||
|
||||
// tilt the map
|
||||
|
||||
@@ -29,7 +29,7 @@ geolocation.bindTo('projection', map.getView());
|
||||
var track = new ol.dom.Input(document.getElementById('track'));
|
||||
track.bindTo('checked', geolocation, 'tracking');
|
||||
|
||||
geolocation.on('change', function() {
|
||||
geolocation.on('propertychange', function() {
|
||||
$('#accuracy').text(geolocation.getAccuracy() + ' [m]');
|
||||
$('#altitude').text(geolocation.getAltitude() + ' [m]');
|
||||
$('#altitudeAccuracy').text(geolocation.getAltitudeAccuracy() + ' [m]');
|
||||
|
||||
Reference in New Issue
Block a user