69 lines
2.7 KiB
HTML
69 lines
2.7 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<title>Custom Control Example</title>
|
|
<link rel="stylesheet" href="../theme/default/style.css" type="text/css">
|
|
<link rel="stylesheet" href="style.css" type="text/css">
|
|
<script src="../lib/OpenLayers.js"></script>
|
|
<script type="text/javascript">
|
|
var lon = 5;
|
|
var lat = 40;
|
|
var zoom = 5;
|
|
var map, layer;
|
|
|
|
function init(){
|
|
map = new OpenLayers.Map('map');
|
|
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
|
|
"http://vmap0.tiles.osgeo.org/wms/vmap0", {layers: 'basic'} );
|
|
|
|
var control = new OpenLayers.Control();
|
|
OpenLayers.Util.extend(control, {
|
|
draw: function () {
|
|
// this Handler.Box will intercept the shift-mousedown
|
|
// before Control.MouseDefault gets to see it
|
|
this.box = new OpenLayers.Handler.Box( control,
|
|
{"done": this.notice},
|
|
{keyMask: OpenLayers.Handler.MOD_SHIFT});
|
|
this.box.activate();
|
|
},
|
|
|
|
notice: function (bounds) {
|
|
var ll = map.getLonLatFromPixel(new OpenLayers.Pixel(bounds.left, bounds.bottom));
|
|
var ur = map.getLonLatFromPixel(new OpenLayers.Pixel(bounds.right, bounds.top));
|
|
alert(ll.lon.toFixed(4) + ", " +
|
|
ll.lat.toFixed(4) + ", " +
|
|
ur.lon.toFixed(4) + ", " +
|
|
ur.lat.toFixed(4));
|
|
}
|
|
});
|
|
|
|
map.addLayer(layer);
|
|
map.addControl(control);
|
|
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="init()">
|
|
<h1 id="title">Custom Control Example</h1>
|
|
|
|
<div id="tags">
|
|
control, panel, rectangle, light
|
|
</div>
|
|
|
|
<p id="shortdesc">
|
|
Demonstrate the addition of a rectangle to the OpenLayers window.
|
|
</p>
|
|
|
|
<div id="map" class="smallmap"></div>
|
|
|
|
<div id="docs">
|
|
<p>The control allows you to draw a rectangle, that reports its coordinates
|
|
after creation. Hold down the shift key on your keyboard and draw a
|
|
rectangle with the mouse.</p>
|
|
</div>
|
|
</body>
|
|
</html>
|