Rework examples to new API

This commit is contained in:
Tim Schaub
2015-04-05 18:51:55 +02:00
parent e1079ab9a3
commit 814fb078cf
7 changed files with 54 additions and 48 deletions

View File

@@ -2,7 +2,6 @@ goog.require('ol.DeviceOrientation');
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.View'); goog.require('ol.View');
goog.require('ol.control'); goog.require('ol.control');
goog.require('ol.dom.Input');
goog.require('ol.layer.Tile'); goog.require('ol.layer.Tile');
goog.require('ol.proj'); goog.require('ol.proj');
goog.require('ol.source.OSM'); goog.require('ol.source.OSM');
@@ -31,8 +30,10 @@ var map = new ol.Map({
}); });
var deviceOrientation = new ol.DeviceOrientation(); var deviceOrientation = new ol.DeviceOrientation();
var track = new ol.dom.Input(document.getElementById('track'));
track.bindTo('checked', deviceOrientation, 'tracking'); $('#track').on('change', function() {
deviceOrientation.setTracking(this.checked);
});
deviceOrientation.on('change', function(event) { deviceOrientation.on('change', function(event) {
$('#alpha').text(deviceOrientation.getAlpha() + ' [rad]'); $('#alpha').text(deviceOrientation.getAlpha() + ' [rad]');

View File

@@ -4,7 +4,6 @@ goog.require('ol.Geolocation');
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.View'); goog.require('ol.View');
goog.require('ol.control'); goog.require('ol.control');
goog.require('ol.dom.Input');
goog.require('ol.geom.Point'); goog.require('ol.geom.Point');
goog.require('ol.layer.Tile'); goog.require('ol.layer.Tile');
goog.require('ol.source.OSM'); goog.require('ol.source.OSM');
@@ -37,8 +36,9 @@ var geolocation = new ol.Geolocation({
projection: view.getProjection() projection: view.getProjection()
}); });
var track = new ol.dom.Input(document.getElementById('track')); $('#track').on('change', function() {
track.bindTo('checked', geolocation, 'tracking'); geolocation.setTracking(this.checked);
});
// update the HTML page when the position changes. // update the HTML page when the position changes.
geolocation.on('change', function() { geolocation.on('change', function() {
@@ -57,7 +57,9 @@ geolocation.on('error', function(error) {
}); });
var accuracyFeature = new ol.Feature(); var accuracyFeature = new ol.Feature();
accuracyFeature.bindTo('geometry', geolocation, 'accuracyGeometry'); geolocation.on('change:accuracyGeometry', function() {
accuracyFeature.setGeometry(geolocation.getAccuracyGeometry());
});
var positionFeature = new ol.Feature(); var positionFeature = new ol.Feature();
positionFeature.setStyle(new ol.style.Style({ positionFeature.setStyle(new ol.style.Style({
@@ -73,10 +75,11 @@ positionFeature.setStyle(new ol.style.Style({
}) })
})); }));
positionFeature.bindTo('geometry', geolocation, 'position') geolocation.on('change:position', function() {
.transform(function() {}, function(coordinates) { var coordinates = geolocation.getPosition();
return coordinates ? new ol.geom.Point(coordinates) : null; positionFeature.setGeometry(coordinates ?
}); new ol.geom.Point(coordinates) : null);
});
var featuresOverlay = new ol.FeatureOverlay({ var featuresOverlay = new ol.FeatureOverlay({
map: map, map: map,

View File

@@ -1,6 +1,5 @@
goog.require('ol.Map'); goog.require('ol.Map');
goog.require('ol.View'); goog.require('ol.View');
goog.require('ol.dom.Input');
goog.require('ol.layer.Group'); goog.require('ol.layer.Group');
goog.require('ol.layer.Tile'); goog.require('ol.layer.Tile');
goog.require('ol.proj'); goog.require('ol.proj');
@@ -39,13 +38,19 @@ var map = new ol.Map({
}); });
function bindInputs(layerid, layer) { function bindInputs(layerid, layer) {
new ol.dom.Input($(layerid + ' .visible')[0]) var visibilityInput = $(layerid + ' input.visible');
.bindTo('checked', layer, 'visible'); visibilityInput.on('change', function() {
layer.setVisible(this.checked);
});
visibilityInput.prop('checked', layer.getVisible());
$.each(['opacity', 'hue', 'saturation', 'contrast', 'brightness'], $.each(['opacity', 'hue', 'saturation', 'contrast', 'brightness'],
function(i, v) { function(i, v) {
new ol.dom.Input($(layerid + ' .' + v)[0]) var input = $(layerid + ' input.' + v);
.bindTo('value', layer, v) input.on('input change', function() {
.transform(parseFloat, String); layer.set(v, parseFloat(this.value));
});
input.val(String(layer.get(v)));
} }
); );
} }

View File

@@ -3,7 +3,6 @@ goog.require('ol.View');
goog.require('ol.control'); goog.require('ol.control');
goog.require('ol.control.MousePosition'); goog.require('ol.control.MousePosition');
goog.require('ol.coordinate'); goog.require('ol.coordinate');
goog.require('ol.dom.Input');
goog.require('ol.layer.Tile'); goog.require('ol.layer.Tile');
goog.require('ol.proj'); goog.require('ol.proj');
goog.require('ol.source.OSM'); goog.require('ol.source.OSM');
@@ -37,20 +36,14 @@ var map = new ol.Map({
}) })
}); });
var projectionSelect = new ol.dom.Input(document.getElementById('projection')); var projectionSelect = $('#projection');
projectionSelect.bindTo('value', mousePositionControl, 'projection') projectionSelect.on('change', function() {
.transform( mousePositionControl.setProjection(ol.proj.get(this.value));
function(code) { });
// projectionSelect.value -> mousePositionControl.projection projectionSelect.val(mousePositionControl.getProjection().getCode());
return ol.proj.get(/** @type {string} */ (code));
},
function(projection) {
// mousePositionControl.projection -> projectionSelect.value
return projection.getCode();
});
var precisionInput = document.getElementById('precision'); var precisionInput = $('#precision');
precisionInput.addEventListener('change', function() { precisionInput.on('change', function() {
var format = ol.coordinate.createStringXY(precisionInput.valueAsNumber); var format = ol.coordinate.createStringXY(this.valueAsNumber);
mousePositionControl.setCoordinateFormat(format); mousePositionControl.setCoordinateFormat(format);
}, false); });

View File

@@ -4,6 +4,11 @@ goog.require('ol.layer.Tile');
goog.require('ol.source.BingMaps'); goog.require('ol.source.BingMaps');
var view = new ol.View({
center: [-4808600, -2620936],
zoom: 8
});
var map1 = new ol.Map({ var map1 = new ol.Map({
layers: [ layers: [
new ol.layer.Tile({ new ol.layer.Tile({
@@ -16,10 +21,7 @@ var map1 = new ol.Map({
], ],
renderer: exampleNS.getRendererFromQueryString(), renderer: exampleNS.getRendererFromQueryString(),
target: 'map1', target: 'map1',
view: new ol.View({ view: view
center: [-4808600, -2620936],
zoom: 8
})
}); });
var map2 = new ol.Map({ var map2 = new ol.Map({
@@ -33,6 +35,6 @@ var map2 = new ol.Map({
}) })
], ],
renderer: exampleNS.getRendererFromQueryString(), renderer: exampleNS.getRendererFromQueryString(),
target: 'map2' target: 'map2',
view: view
}); });
map2.bindTo('view', map1);

View File

@@ -2,7 +2,6 @@ goog.require('ol.Map');
goog.require('ol.View'); goog.require('ol.View');
goog.require('ol.control'); goog.require('ol.control');
goog.require('ol.control.ScaleLine'); goog.require('ol.control.ScaleLine');
goog.require('ol.dom.Input');
goog.require('ol.layer.Tile'); goog.require('ol.layer.Tile');
goog.require('ol.source.OSM'); goog.require('ol.source.OSM');
@@ -31,5 +30,8 @@ var map = new ol.Map({
}); });
var unitsSelect = new ol.dom.Input(document.getElementById('units')); var unitsSelect = $('#units');
unitsSelect.bindTo('value', scaleLineControl, 'units'); unitsSelect.on('change', function() {
scaleLineControl.setUnits(this.value);
});
unitsSelect.val(scaleLineControl.getUnits());

View File

@@ -22,10 +22,10 @@ var domMap = new ol.Map({
if (ol.has.WEBGL) { if (ol.has.WEBGL) {
var webglMap = new ol.Map({ var webglMap = new ol.Map({
renderer: 'webgl', renderer: 'webgl',
target: 'webglMap' target: 'webglMap',
layers: domMap.getLayers(),
view: domMap.getView()
}); });
webglMap.bindTo('layergroup', domMap);
webglMap.bindTo('view', domMap);
} else { } else {
var info = document.getElementById('no-webgl'); var info = document.getElementById('no-webgl');
/** /**
@@ -35,7 +35,7 @@ if (ol.has.WEBGL) {
} }
var canvasMap = new ol.Map({ var canvasMap = new ol.Map({
target: 'canvasMap' target: 'canvasMap',
layers: domMap.getLayers(),
view: domMap.getView()
}); });
canvasMap.bindTo('layergroup', domMap);
canvasMap.bindTo('view', domMap);