Adding interior ring digitizing for polygons. Thanks jachym for the initial work. r=ahocevar (closes #1894)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@10828 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Tim Schaub
2010-10-13 22:12:52 +00:00
parent ba21865e28
commit 1397f816b5
4 changed files with 432 additions and 3 deletions

59
examples/donut.html Normal file
View File

@@ -0,0 +1,59 @@
<!DOCTYPE html>
<html>
<head>
<title>OpenLayers Polygon Hole Digitizing</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css">
<link rel="stylesheet" href="style.css" type="text/css">
<style>
#controlToggle li {
list-style: none;
}
.olControlAttribution {
font-size: 9px;
bottom: 2px;
}
#output {
margin: 1em;
font-size: 0.9em;
}
</style>
</head>
<body>
<h1 id="title">Drawing Holes in Polygons</h1>
<div id="tags">
draw polygon hole
</div>
<p id="shortdesc">
The DrawFeature control can be used to digitize donut polygons.
</p>
<div id="map" class="smallmap"></div>
<ul id="controlToggle">
<li>
<input type="radio" name="type" value="none" id="noneToggle"
onclick="toggleControl(this);" checked="checked">
<label for="noneToggle">navigate</label>
</li>
<li>
<input type="radio" name="type" value="polygon" id="polygonToggle" onclick="toggleControl(this);">
<label for="polygonToggle">draw polygon</label>
</li>
</ul>
<div id="output"></div>
<div id="docs">
<p>
To digitize holes in polygons, hold down the <code>Alt</code>
key and draw over an existing polygon. By default, the
<code>Shift</code> key triggers freehand drawing. Use a
combination of the <code>Shift</code> and <code>Alt</code> keys
to digitize holes in freehand mode.
</p>
<p>
See the <a href="donut.js" target="_blank">
donut.js source</a> for details on how this is done.
</p>
</div>
<script src="../lib/OpenLayers.js"></script>
<script src="donut.js"></script>
</body>
</html>