Port over layer-clipping-webgl, layer-clipping, layer-extent, layer-group, layer-spy, layer-swipe examples

This commit is contained in:
Bart van den Eijnden
2015-04-02 17:45:13 +02:00
committed by Andreas Hocevar
parent e3face3d9d
commit c75c704e9f
7 changed files with 173 additions and 413 deletions

View File

@@ -1,56 +1,16 @@
<!doctype html> ---
<html lang="en"> template: "example.html"
<head> title: "Layer WebGL clipping example"
<meta charset="utf-8"> shortdesc: "Layer WebGL clipping example."
<meta http-equiv="X-UA-Compatible" content="chrome=1"> docs: >
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"> This example shows how to use the <code>precompose</code> and <code>postcompose</code> rendering hooks to clip layers using WebGL.
<link rel="stylesheet" href="../css/ol.css" type="text/css"> tags: "clipping, webgl, openstreetmap"
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css"> ---
<link rel="stylesheet" href="../resources/layout.css" type="text/css"> <div class="row-fluid">
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css"> <div class="span12">
<title>Layer WebGL clipping example</title> <div id="map" class="map"></div>
</head> </div>
<body> </div>
<div id="no-webgl" class="alert alert-error" style="display: none">
<div class="navbar navbar-inverse navbar-fixed-top"> This example requires a browser that supports <a href="http://get.webgl.org/">WebGL</a>.
<div class="navbar-inner"> </div>
<div class="container">
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row-fluid">
<div class="span12">
<div id="map" class="map"></div>
</div>
</div>
<div id="no-webgl" class="alert alert-error" style="display: none">
This example requires a browser that supports <a href="http://get.webgl.org/">WebGL</a>.
</div>
<div class="row-fluid">
<div class="span12">
<h4 id="title">Layer WebGL clipping example</h4>
<p id="shortdesc">Layer WebGL clipping example.</p>
<div id="docs">
<p>This example shows how to use the <code>precompose</code> and <code>postcompose</code> rendering hooks to clip layers using WebGL.</p>
<p>See the <a href="layer-clipping-webgl.js" target="_blank">layer-clipping-webgl.js source</a> to see how this is done.</p>
</div>
<div id="tags">clipping, webgl, openstreetmap</div>
</div>
</div>
</div>
<script src="../resources/jquery.min.js" type="text/javascript"></script>
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
<script src="loader.js?id=layer-clipping-webgl" type="text/javascript"></script>
</body>
</html>

View File

@@ -1,51 +1,13 @@
<!doctype html> ---
<html lang="en"> template: "example.html"
<head> title: "Layer clipping example"
<meta charset="utf-8"> shortdesc: "Layer clipping example"
<meta http-equiv="X-UA-Compatible" content="chrome=1"> docs: >
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"> Layer clipping example
<link rel="stylesheet" href="../css/ol.css" type="text/css"> tags: "clipping, openstreetmap"
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css"> ---
<link rel="stylesheet" href="../resources/layout.css" type="text/css"> <div class="row-fluid">
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css"> <div class="span12">
<title>Layer clipping example</title> <div id="map" class="map"></div>
</head> </div>
<body> </div>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row-fluid">
<div class="span12">
<div id="map" class="map"></div>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<h4 id="title">Layer clipping example</h4>
<p id="shortdesc">Layer clipping example.</p>
<div id="docs">
<p>See the <a href="layer-clipping.js" target="_blank">layer-clipping.js source</a> to see how this is done.</p>
</div>
<div id="tags">clipping, openstreetmap</div>
</div>
</div>
</div>
<script src="../resources/jquery.min.js" type="text/javascript"></script>
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
<script src="loader.js?id=layer-clipping" type="text/javascript"></script>
</body>
</html>

View File

@@ -1,68 +1,22 @@
<!doctype html> ---
<html lang="en"> template: "example.html"
<head> title: "Limited Layer Extent"
<meta charset="utf-8"> shortdesc: "Restricting layer rendering to a limited extent."
<meta http-equiv="X-UA-Compatible" content="chrome=1"> docs: >
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"> This example uses the <code>layer.setExtent()</code> method to
<link rel="stylesheet" href="../css/ol.css" type="text/css"> modify the extent of the overlay layer. Use the controls below
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css"> to limit rendering based on an extent.
<link rel="stylesheet" href="../resources/layout.css" type="text/css"> tags: "extent, tilejson"
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css"> ---
<title>Limited Layer Extent</title> <div class="row-fluid">
</head> <div class="span12">
<body> <div id="map" class="map"></div>
</div>
<div class="navbar navbar-inverse navbar-fixed-top"> </div>
<div class="navbar-inner"> <div class="btn-group">
<div class="container"> <button type="button" class="btn btn-default" id="northwest">northwest</button>
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a> <button type="button" class="btn btn-default" id="northeast">northeast</button>
</div> <button type="button" class="btn btn-default" id="southeast">southeast</button>
</div> <button type="button" class="btn btn-default" id="southwest">southwest</button>
</div> <button type="button" class="btn btn-default" id="world">world</button>
</div>
<div class="container-fluid">
<div class="row-fluid">
<div class="span12">
<div id="map" class="map"></div>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<h4 id="title">Limited layer extent</h4>
<p id="shortdesc">Restricting layer rendering to a limited extent.</p>
<div id="docs">
<p>
This example uses the <code>layer.setExtent()</code> method to
modify the extent of the overlay layer. Use the controls below
to limit rendering based on an extent.
</p>
<p>
<div class="btn-group">
<button type="button" class="btn btn-default" id="northwest">northwest</button>
<button type="button" class="btn btn-default" id="northeast">northeast</button>
<button type="button" class="btn btn-default" id="southeast">southeast</button>
<button type="button" class="btn btn-default" id="southwest">southwest</button>
<button type="button" class="btn btn-default" id="world">world</button>
</div>
</p>
<p>
See the <a href="layer-extent.js" target="_blank">layer-extent.js
source</a> for details on how this is done.
</p>
</div>
<div id="tags">extent, tilejson</div>
</div>
</div>
</div>
<script src="../resources/jquery.min.js" type="text/javascript"></script>
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
<script src="loader.js?id=layer-extent" type="text/javascript"></script>
</body>
</html>

View File

@@ -0,0 +1,3 @@
#layertree li > span {
cursor: pointer;
}

View File

@@ -1,126 +1,88 @@
<!doctype html> ---
<html lang="en"> template: "example.html"
<head> title: "Layer group example"
<meta charset="utf-8"> shortdesc: "Example of a map with layer group."
<meta http-equiv="X-UA-Compatible" content="chrome=1"> docs: >
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"> Example of a map with layer group.
<link rel="stylesheet" href="../css/ol.css" type="text/css"> tags: "tilejson, input, bind, group, layergroup"
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css"> ---
<link rel="stylesheet" href="../resources/layout.css" type="text/css"> <div class="row-fluid">
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css"> <div class="span6">
<style> <div id="map" class="map"></div>
#layertree li > span { </div>
cursor: pointer; <div id="layertree" class="span6">
} <h5>Click on layer nodes below to change their properties.</h5>
</style> <ul>
<title>Layer group example</title> <li><span>OpenAerial layer</span>
</head> <fieldset id="layer0">
<body> <label class="checkbox" for="visible0">
<input id="visible0" class="visible" type="checkbox"/>visibility
<div class="navbar navbar-inverse navbar-fixed-top"> </label>
<div class="navbar-inner"> <label>opacity</label>
<div class="container"> <input class="opacity" type="range" min="0" max="1" step="0.01"/>
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a> <label>hue</label>
</div> <input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/>
</div> <label>saturation</label>
</div> <input class="saturation" type="range" min="0" max="5" step="0.01"/>
<label>contrast</label>
<div class="container-fluid"> <input class="contrast" type="range" min="0" max="2" step="0.01"/>
<label>brightness</label>
<div class="row-fluid"> <input class="brightness" type="range" min="-1" max="1" step="0.01"/>
<div class="span6"> </fieldset>
<div id="map" class="map"></div> </li>
<li><span>Layer group</span>
<h4 id="title">Layer group example</h4> <fieldset id="layer1">
<p id="shortdesc">Example of a map with layer group.</p> <label class="checkbox" for="visible1">
<div id="docs"> <input id="visible1" class="visible" type="checkbox"/>visibility
<p>See the <a href="layer-group.js" target="_blank">layer-group.js source</a> to see how this is done.</p> </label>
</div> <label>opacity</label>
<div id="tags">tilejson, input, bind, group, layergroup</div> <input class="opacity" type="range" min="0" max="1" step="0.01"/>
</div> <label>hue</label>
<input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/>
<div id="layertree" class="span6"> <label>saturation</label>
<h5>Click on layer nodes below to change their properties.</h5> <input class="saturation" type="range" min="0" max="5" step="0.01"/>
<ul> <label>contrast</label>
<li><span>OpenAerial layer</span> <input class="contrast" type="range" min="0" max="2" step="0.01"/>
<fieldset id="layer0"> <label>brightness</label>
<label class="checkbox" for="visible0"> <input class="brightness" type="range" min="-1" max="1" step="0.01"/>
<input id="visible0" class="visible" type="checkbox"/>visibility </fieldset>
</label> <ul>
<label>opacity</label> <li><span>Food insecurity layer</span>
<input class="opacity" type="range" min="0" max="1" step="0.01"/> <fieldset id="layer10">
<label>hue</label> <label class="checkbox" for="visible10">
<input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/> <input id="visible10" class="visible" type="checkbox"/>visibility
<label>saturation</label> </label>
<input class="saturation" type="range" min="0" max="5" step="0.01"/> <label>opacity</label>
<label>contrast</label> <input class="opacity" type="range" min="0" max="1" step="0.01"/>
<input class="contrast" type="range" min="0" max="2" step="0.01"/> <label>hue</label>
<label>brightness</label> <input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/>
<input class="brightness" type="range" min="-1" max="1" step="0.01"/> <label>saturation</label>
</fieldset> <input class="saturation" type="range" min="0" max="5" step="0.01"/>
</li> <label>contrast</label>
<li><span>Layer group</span> <input class="contrast" type="range" min="0" max="2" step="0.01"/>
<fieldset id="layer1"> <label>brightness</label>
<label class="checkbox" for="visible1"> <input class="brightness" type="range" min="-1" max="1" step="0.01"/>
<input id="visible1" class="visible" type="checkbox"/>visibility </fieldset>
</label> </li>
<label>opacity</label> <li><span>World borders layer</span>
<input class="opacity" type="range" min="0" max="1" step="0.01"/> <fieldset id="layer11">
<label>hue</label> <label class="checkbox" for="visible11">
<input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/> <input id="visible11" class="visible" type="checkbox"/>visibility
<label>saturation</label> </label>
<input class="saturation" type="range" min="0" max="5" step="0.01"/> <label>opacity</label>
<label>contrast</label> <input class="opacity" type="range" min="0" max="1" step="0.01"/>
<input class="contrast" type="range" min="0" max="2" step="0.01"/> <label>hue</label>
<label>brightness</label> <input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/>
<input class="brightness" type="range" min="-1" max="1" step="0.01"/> <label>saturation</label>
</fieldset> <input class="saturation" type="range" min="0" max="5" step="0.01"/>
<ul> <label>contrast</label>
<li><span>Food insecurity layer</span> <input class="contrast" type="range" min="0" max="2" step="0.01"/>
<fieldset id="layer10"> <label>brightness</label>
<label class="checkbox" for="visible10"> <input class="brightness" type="range" min="-1" max="1" step="0.01"/>
<input id="visible10" class="visible" type="checkbox"/>visibility </fieldset>
</label> </li>
<label>opacity</label> </ul>
<input class="opacity" type="range" min="0" max="1" step="0.01"/> </li>
<label>hue</label> </ul>
<input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/> </div>
<label>saturation</label> </div>
<input class="saturation" type="range" min="0" max="5" step="0.01"/>
<label>contrast</label>
<input class="contrast" type="range" min="0" max="2" step="0.01"/>
<label>brightness</label>
<input class="brightness" type="range" min="-1" max="1" step="0.01"/>
</fieldset>
</li>
<li><span>World borders layer</span>
<fieldset id="layer11">
<label class="checkbox" for="visible11">
<input id="visible11" class="visible" type="checkbox"/>visibility
</label>
<label>opacity</label>
<input class="opacity" type="range" min="0" max="1" step="0.01"/>
<label>hue</label>
<input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/>
<label>saturation</label>
<input class="saturation" type="range" min="0" max="5" step="0.01"/>
<label>contrast</label>
<input class="contrast" type="range" min="0" max="2" step="0.01"/>
<label>brightness</label>
<input class="brightness" type="range" min="-1" max="1" step="0.01"/>
</fieldset>
</li>
</ul>
</li>
</ul>
</div>
</div>
<script src="../resources/jquery.min.js" type="text/javascript"></script>
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
<script src="loader.js?id=layer-group" type="text/javascript"></script>
</body>
</html>

View File

@@ -1,60 +1,17 @@
<!doctype html> ---
<html lang="en"> template: "example.html"
<head> title: "Layer Spy Example"
<meta charset="utf-8"> shortdesc: "View a portion of one layer over another"
<meta http-equiv="X-UA-Compatible" content="chrome=1"> docs: >
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"> <p>Layer rendering can be manipulated in <code>precompose</code> and <code>postcompose</code> event listeners.
<link rel="stylesheet" href="../css/ol.css" type="text/css"> These listeners get an event with a reference to the Canvas rendering context.
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css"> In this example, the <code>precompose</code> listener sets a clipping mask around the most
<link rel="stylesheet" href="../resources/layout.css" type="text/css"> recent mouse position, giving you a spyglass effect for viewing one layer over another.</p>
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css"> <p>Move around the map to see the effect. Use the ↑ up and ↓ down arrow keys to adjust the spyglass size.</p>
<title>Layer Spy Example</title> tags: "spy, image manipulation"
</head> ---
<body> <div class="row-fluid">
<div class="span12">
<div class="navbar navbar-inverse navbar-fixed-top"> <div id="map" class="map"></div>
<div class="navbar-inner"> </div>
<div class="container"> </div>
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row-fluid">
<div class="span12">
<div id="map" class="map"></div>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<h4 id="title">Layer spy example</h4>
<p id="shortdesc">View a portion of one layer over another</p>
<div id="docs">
<p>
Layer rendering can be manipulated in <code>precompose</code> and <code>postcompose</code> event listeners.
These listeners get an event with a reference to the Canvas rendering context.
In this example, the <code>precompose</code> listener sets a clipping mask around the most
recent mouse position, giving you a spyglass effect for viewing one layer over another.
</p>
<p>
Move around the map to see the effect. Use the ↑ up and ↓ down arrow keys to adjust the spyglass size.
</p>
<p>See the <a href="layer-spy.js" target="_blank">layer-spy.js source</a> to see how this is done.</p>
</div>
<div id="tags">spy, image manipulation</div>
</div>
</div>
</div>
<script src="../resources/jquery.min.js" type="text/javascript"></script>
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
<script src="loader.js?id=layer-spy" type="text/javascript"></script>
</body>
</html>

View File

@@ -1,52 +1,14 @@
<!doctype html> ---
<html lang="en"> template: "example.html"
<head> title: "Layer Swipe example"
<meta charset="utf-8"> shortdesc: "Example of a Layer swipe map."
<meta http-equiv="X-UA-Compatible" content="chrome=1"> docs: >
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"> Example of a Layer swipe map.
<link rel="stylesheet" href="../css/ol.css" type="text/css"> tags: "swipe, openstreetmap"
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css"> ---
<link rel="stylesheet" href="../resources/layout.css" type="text/css"> <div class="row-fluid">
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css"> <div class="span12">
<title>Layer Swipe example</title> <div id="map" class="map"></div>
</head> <input id="swipe" type="range" style="width: 100%">
<body> </div>
</div>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row-fluid">
<div class="span12">
<div id="map" class="map"></div>
<input id="swipe" type="range" style="width: 100%">
</div>
</div>
<div class="row-fluid">
<div class="span12">
<h4 id="title">Layer Swipe example</h4>
<p id="shortdesc">Example of a Layer swipe map.</p>
<div id="docs">
<p>See the <a href="layer-swipe.js" target="_blank">layer-swipe.js source</a> to see how this is done.</p>
</div>
<div id="tags">swipe, openstreetmap</div>
</div>
</div>
</div>
<script src="../resources/jquery.min.js" type="text/javascript"></script>
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
<script src="loader.js?id=layer-swipe" type="text/javascript"></script>
</body>
</html>