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>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值