<button dojoType="dijit.form.ToggleButton" id="measureButton" onChange="measureClick" iconClass='dijitCheckBoxIcon' checked="false">Measure</button>
<div class="section">
<strong>Measure</strong><br/>
Path: <input id="path" dojoType="dijit.form.RadioButton" onChange="changeHandler" checked name="layer"/>
Polygon: <input id="polygon" dojoType="dijit.form.RadioButton" onChange="changeHandler" name="layer"/>
Regular Polygon: <input id="regular" dojoType="dijit.form.RadioButton" onChange="changeHandler" name="layer"/>
</div>
<div class="section">
<strong>Options</strong><br/>
Geodesic <input id="geodesic" dojoType="dijit.form.CheckBox" onChange="changeGeodesic" name="layer"/>
Immediate: <input id="immediate" dojoType="dijit.form.CheckBox" onChange="changeImmediate" name="layer"/>
</div>
<div class="section">
<strong>Measure:</strong> <span id="value"></span>
</div>
</div>
<div id="ch05_measure" style="width:100% height:100%"></div>
<script type="text/javascript">
var map=new OpenLayers.Map("ch05_measure");
var osm=new OpenLayers.Layer.OSM();
map.addLayer(osm);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.setCenter(new OpenLayers.Lonlat (0,0),3);
var measureContrl=new OpenLayers.Control.Measuer(
OpenLayers.Handler.Path,{
persist:true;
eventListener:
{
'measure':measuer,'measuerpartial':measuerpartial
}
}
);
function measuerClick(checked)
{
var path=dijit.byid('path').get(''checked);
var polygon=dijit.byId(''polygon).get('checked');
var regular=dijit.byId('regulat').get('checked');
if(checked){
if(path){ measuerControl.updateHandler(OpenLayers.Handler.Path,{persist:true});}else if(polygon){
measuerControl.updateHandler(Openlayers.Handler.Polygong,{persist:true})else if(regular){
measuerControl.updateHandler(OpenLayers.Handker.RegulerPolygon,{persist:true});
} map.addControl(measuerControl);
measureControl.active();
}else{
measuerControl.deactivate();
map.removeControl(measureControl);
}
dojo.byId('value').innerHTML="";
}
function measuer(evet){
var meassage=event.message+""+evetn.unites;
if(event.order>1){
message+="2";
}
dojo.byid('value').innerHTML=message;
}
function messagepartial(even)
{
var message=event.measuer+""+event.units;
dojo.buid('value').innerHTML=message;
}
function changeHandle(checked)
{
messageClikc(dijit.byId('measureButton').get('checked'));
}
function changeImmediate(checked)
{
measureControl.setImmediate(checked);
}
function changeGeodesic(checked)
{
measuerControl.geodesic=checked;
}
}
</script>