Change examples directory names to "examples"
This commit is contained in:
20
examples/full-screen.html
Normal file
20
examples/full-screen.html
Normal 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
31
examples/full-screen.js
Normal 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
59
examples/loader.js
Normal 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
13
examples/proj4js.html
Normal 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
23
examples/proj4js.js
Normal 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()));
|
||||
72
examples/side-by-side.html
Normal file
72
examples/side-by-side.html
Normal 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
104
examples/side-by-side.js
Normal 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: ' '
|
||||
}));
|
||||
|
||||
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: ' '
|
||||
}));
|
||||
|
||||
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
33
examples/two-layers.html
Normal 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
44
examples/two-layers.js
Normal 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);
|
||||
Reference in New Issue
Block a user