OpenLayers的地图上的距离和面积的测量

<div class=”measureoptions”>
    <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>

转载自:https://blog.csdn.net/lhuaiy/article/details/17792211

You may also like...