Change examples directory names to "examples"

This commit is contained in:
Éric Lemoine
2012-09-28 14:01:51 +02:00
parent 310d5bfeaa
commit 896f5203db
12 changed files with 16 additions and 16 deletions

20
examples/full-screen.html Normal file
View File

@@ -0,0 +1,20 @@
<!doctype html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<style type="text/css">
html, body, #map {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
</style>
<link rel="stylesheet" href="../css/ol.css" type="text/css">
<title>ol3 full-screen demo</title>
</head>
<body>
<div id="map"></div>
<script src="loader.js?id=full-screen" type="text/javascript"></script>
</body>
</html>

31
examples/full-screen.js Normal file
View File

@@ -0,0 +1,31 @@
goog.require('goog.debug.Console');
goog.require('goog.debug.Logger');
goog.require('goog.debug.Logger.Level');
goog.require('ol.Collection');
goog.require('ol.Coordinate');
goog.require('ol.Map');
goog.require('ol.MapOptions'); // FIXME this should not be required
goog.require('ol.overlay.Overlay');
goog.require('ol.source.MapQuestOpenAerial');
if (goog.DEBUG) {
goog.debug.Console.autoInstall();
goog.debug.Logger.getLogger('ol').setLevel(goog.debug.Logger.Level.INFO);
}
var layer = new ol.layer.TileLayer({
source: new ol.source.MapQuestOpenAerial()
});
var map = new ol.Map(document.getElementById('map'), {
center: new ol.Coordinate(0, 0),
layers: new ol.Collection([layer]),
zoom: 2
});
var vienna = new ol.overlay.Overlay({
map: map,
coordinate: ol.Projection.transformWithCodes(
new ol.Coordinate(16, 48), 'EPSG:4326', 'EPSG:3857'),
element: document.getElementById('vienna')
});

59
examples/loader.js Normal file
View File

@@ -0,0 +1,59 @@
/**
* Loader to add the plovr generated script to the document. The following
* default values may be overridden with query string parameters:
*
* * hostname - the current hostname
* * port - 9810
* * mode - ADVANCED
* * id - id param in loader.js query string; defaults to 'ol' if not set
*
* Usage:
*
* <script src="../loader.js?id=my-demo"></script>
*/
(function() {
var scripts = document.getElementsByTagName('script');
var params = {
hostname: window.location.hostname,
port: '9810',
mode: 'ADVANCED',
id: 'ol'
};
var chunks, search, pair;
var src, index, id, i;
for (i = scripts.length - 1; i >= 0; --i) {
src = scripts[i].getAttribute('src');
if (~(index = src.indexOf('loader.js?'))) {
// script params
search = src.substr(index + 10);
chunks = search ? search.split('&') : [];
for (i = chunks.length - 1; i >= 0; --i) {
pair = chunks[i].split('=');
params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);
}
break;
}
}
// url params
search = window.location.search.substring(1);
chunks = search ? search.split('&') : [];
for (i = chunks.length - 1; i >= 0; --i) {
pair = chunks[i].split('=');
params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);
}
var host = params.hostname + ':' + params.port;
delete params.hostname;
delete params.port;
var pairs = [];
for (var key in params) {
pairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(params[key]));
}
var url = 'http://' + host + '/compile?' + pairs.join('&');
document.write('<script type="text/javascript" src="' + url + '"></script>');
}());

13
examples/proj4js.html Normal file
View File

@@ -0,0 +1,13 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="../css/ol.css" type="text/css">
<script src="http://svn.osgeo.org/metacrs/proj4js/trunk/lib/proj4js-compressed.js" type="text/javascript"></script>
<title>ol3 proj4js demo</title>
</head>
<body>
<h1>ol3 proj4js demo</h1>
<div id="output"></div>
<script src="loader.js?id=proj4js" type="text/javascript"></script>
</body>
</html>

23
examples/proj4js.js Normal file
View File

@@ -0,0 +1,23 @@
goog.require('goog.dom');
goog.require('ol.Coordinate');
goog.require('ol.Projection');
var outputElement = document.getElementById('output');
var point, transformedPoint;
point = new ol.Coordinate(-626172.13571216376, 6887893.4928337997);
transformedPoint = ol.Projection.transformWithCodes(
point, 'GOOGLE', 'WGS84');
outputElement.appendChild(goog.dom.createTextNode(transformedPoint.toString()));
Proj4js.defs['EPSG:21781'] =
'+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 ' +
'+x_0=600000 +y_0=200000 +ellps=bessel ' +
'+towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs';
point = new ol.Coordinate(7.439583333333333, 46.95240555555556);
transformedPoint = ol.Projection.transformWithCodes(
point, 'EPSG:4326', 'EPSG:21781');
outputElement.appendChild(goog.dom.createTextNode(transformedPoint.toString()));

View File

@@ -0,0 +1,72 @@
<!doctype html>
<html>
<head>
<style type="text/css">
.map {
width: 400px;
height: 400px;
border: thin solid;
}
</style>
<link rel="stylesheet" href="../css/ol.css" type="text/css">
<title>ol3 side-by-side demo</title>
</head>
<body>
<h1>ol3 side-by-side demo</h1>
<table>
<tr>
<th>DOM</th>
<th>WebGL</th>
</tr>
<tr>
<td><div id="domMap" class="map"></div></td>
<td><div id="webglMap" class="map"></div></td>
</tr>
<tr>
<td><div id="domMousePosition" class="mouseposition"></div></td>
<td><div id="webglMousePosition" class="mouseposition"></div></td>
</tr>
<tr>
<td colspan="2">
<div id="attribution" class="attribution"></div>
</td>
</tr>
</table>
<table>
<tr>
<td>Pan:</td>
<td>drag, arrow keys</td>
</tr>
<tr>
<td>Zoom:</td>
<td>double-click, <code>Shift</code>+double-click, mouse wheel, <code>+</code>/<code>-</code> keys; <code>Shift</code>+drag</td>
</tr>
<tr>
<td>Rotate:</td>
<td><code>Alt</code>+drag, <code>r</code> to reset (WebGL only)</td>
</tr>
<tr>
<td>Brightness/contrast:</td>
<td><code>b</code>/<code>B</code>/<code>c</code>/<code>C</code> keys (WebGL only)</td>
</tr>
<tr>
<td>Hue/saturation:</td>
<td><code>h</code>/<code>H</code>/<code>s</code>/<code>S</code> keys (WebGL only)</td>
</tr>
<tr>
<td>Opacity:</td>
<td><code>o</code>/<code>O</code> keys</td>
</tr>
<tr>
<td>Visibility:</td>
<td><code>v</code>/<code>V</code> keys</td>
</tr>
<tr>
<td>Reset</td>
<td><code>0</code> key</td>
</tr>
</table>
<p><b>Notes:</b> The two maps share the same center, resolution, rotation and layers. Currently the DOM map does not support rotation.</p>
<script src="loader.js?id=side-by-side" type="text/javascript"></script>
</body>
</html>

104
examples/side-by-side.js Normal file
View File

@@ -0,0 +1,104 @@
goog.require('goog.debug.Console');
goog.require('goog.debug.Logger');
goog.require('goog.debug.Logger.Level');
goog.require('ol.CoordinateFormat');
goog.require('ol.Map');
goog.require('ol.RendererHint');
goog.require('ol.control.Attribution');
goog.require('ol.control.MousePosition');
goog.require('ol.interaction.Keyboard');
goog.require('ol.layer.TileLayer');
goog.require('ol.source.MapQuestOpenAerial');
if (goog.DEBUG) {
goog.debug.Console.autoInstall();
goog.debug.Logger.getLogger('ol').setLevel(goog.debug.Logger.Level.INFO);
}
var layer = new ol.layer.TileLayer({
source: new ol.source.MapQuestOpenAerial()
});
var domMap = new ol.Map(document.getElementById('domMap'), {
center: new ol.Coordinate(0, 0),
layers: new ol.Collection([layer]),
renderer: ol.RendererHint.DOM,
zoom: 0
});
domMap.getControls().push(new ol.control.Attribution({
target: document.getElementById('attribution')
}));
domMap.getControls().push(new ol.control.MousePosition({
coordinateFormat: ol.CoordinateFormat.hdms,
projection: ol.Projection.getFromCode('EPSG:4326'),
target: document.getElementById('domMousePosition'),
undefinedHtml: '&nbsp;'
}));
var webglMap = new ol.Map(document.getElementById('webglMap'), {
renderer: ol.RendererHint.WEBGL
});
if (!goog.isNull(webglMap)) {
webglMap.bindTo('center', domMap);
webglMap.bindTo('layers', domMap);
webglMap.bindTo('resolution', domMap);
webglMap.bindTo('rotation', domMap);
}
webglMap.getControls().push(new ol.control.MousePosition({
coordinateFormat: ol.CoordinateFormat.hdms,
projection: ol.Projection.getFromCode('EPSG:4326'),
target: document.getElementById('webglMousePosition'),
undefinedHtml: '&nbsp;'
}));
var keyboardInteraction = new ol.interaction.Keyboard();
keyboardInteraction.addCallback('0', function() {
layer.setBrightness(0);
layer.setContrast(0);
layer.setHue(0);
layer.setSaturation(0);
layer.setOpacity(1);
layer.setVisible(true);
});
keyboardInteraction.addCallback('b', function() {
layer.setBrightness(layer.getBrightness() - 0.1);
});
keyboardInteraction.addCallback('B', function() {
layer.setBrightness(layer.getBrightness() + 0.1);
});
keyboardInteraction.addCallback('c', function() {
layer.setContrast(layer.getContrast() - 0.1);
});
keyboardInteraction.addCallback('C', function() {
layer.setContrast(layer.getContrast() + 0.1);
});
keyboardInteraction.addCallback('h', function() {
layer.setHue(layer.getHue() - 0.1);
});
keyboardInteraction.addCallback('H', function() {
layer.setHue(layer.getHue() + 0.1);
});
keyboardInteraction.addCallback('o', function() {
layer.setOpacity(layer.getOpacity() - 0.1);
});
keyboardInteraction.addCallback('O', function() {
layer.setOpacity(layer.getOpacity() + 0.1);
});
keyboardInteraction.addCallback('r', function() {
webglMap.setRotation(0);
});
keyboardInteraction.addCallback('s', function() {
layer.setSaturation(layer.getSaturation() - 0.1);
});
keyboardInteraction.addCallback('S', function() {
layer.setSaturation(layer.getSaturation() + 0.1);
});
keyboardInteraction.addCallback('vV', function() {
layer.setVisible(!layer.getVisible());
});
domMap.getInteractions().push(keyboardInteraction);

33
examples/two-layers.html Normal file
View File

@@ -0,0 +1,33 @@
<!doctype html>
<html>
<head>
<style type="text/css">
.map {
width: 400px;
height: 400px;
border: thin solid;
}
</style>
<link rel="stylesheet" href="../../css/ol.css" type="text/css">
<title>ol3 two-layers demo</title>
</head>
<body>
<h1>ol3 two-layers demo</h1>
<table>
<tr>
<th>DOM</th>
<th>WebGL</th>
</tr>
<tr>
<td><div id="domMap" class="map"></div></td>
<td><div id="webglMap" class="map"></div></td>
</tr>
<tr>
<td colspan="2">
<div id="attribution" class="attribution"></div>
</td>
</tr>
</table>
<script src="loader.js?id=two-layers" type="text/javascript"></script>
</body>
</html>

44
examples/two-layers.js Normal file
View File

@@ -0,0 +1,44 @@
goog.require('ol.Collection');
goog.require('ol.Coordinate');
goog.require('ol.Map');
goog.require('ol.Projection');
goog.require('ol.RendererHint');
goog.require('ol.control.Attribution');
goog.require('ol.layer.TileLayer');
goog.require('ol.source.BingMaps');
goog.require('ol.source.TileJSON');
var layers = new ol.Collection([
new ol.layer.TileLayer({
source: new ol.source.BingMaps({
key: 'Ak0kFwyFsvMr0dVwuaURTqKAXytSSN47KOdj4uVpaWBhK-DT6Zo-FeHCiJUL0tYL',
style: ol.BingMapsStyle.AERIAL
})
}),
new ol.layer.TileLayer({
source: new ol.source.TileJSON({
uri: 'http://api.tiles.mapbox.com/v3/mapbox.va-quake-aug.jsonp'
})
})
]);
var webglMap = new ol.Map(document.getElementById('webglMap'), {
center: ol.Projection.transformWithCodes(
new ol.Coordinate(-77.93255, 37.9555), 'EPSG:4326', 'EPSG:3857'),
layers: layers,
renderer: ol.RendererHint.WEBGL,
zoom: 5
});
webglMap.getControls().push(new ol.control.Attribution({
target: document.getElementById('attribution')
}));
var domMap = new ol.Map(document.getElementById('domMap'), {
renderer: ol.RendererHint.DOM
});
domMap.bindTo('center', webglMap);
domMap.bindTo('layers', webglMap);
domMap.bindTo('resolution', webglMap);
domMap.bindTo('rotation', webglMap);