OpenLayers 添加RegularPolygon

本文介绍如何利用OpenLayers实现用户交互式的多边形绘制功能,包括选择多边形类型、设置边数、激活与禁用绘制功能。

1、主要涉及类:

OpenLayers.Layer.Vector、OpenLayers.Control.DrawFeature、 

OpenLayers.Handler.RegularPolygon

2、方法编写

var polygonControl ;

function addPolygonLayer(){

  var polygonLayer = new OpenLayers.Layer.Vector("Polygon Layer");

   map.addLayers([polygonLayer]);

   polyOptions = {sides: 4};
   polygonControl = new OpenLayers.Control.DrawFeature(polygonLayer,
              OpenLayers.Handler.RegularPolygon,{handlerOptions: polyOptions});
            
    map.addControl(polygonControl);
            
    map.setCenter(new OpenLayers.LonLat(0, 0), 3);
            
        document.getElementById('activate').checked = true;
        document.getElementById('deactivate').checked = false;
   }
     function setOptions(options) {
            polygonControl.handler.setOptions(options);
     }

  3、操作选项:

<input type="radio" name="type"   value="none" id="deactivate"
                       onclick="polygonControl.deactivate()"
                       checked="checked" />deactivate

<input type="radio" name="type" value="none" id="activate"
onclick="polygonControl.activate()" />activate

 <select name="sides"  onchange="setOptions({sides: parseInt(this.value)})">
      <option value="3">triangle</option>
      <option value="4" selected="selected">square</option>
      <option value="5">pentagon</option>
      <option value="6">hexagon</option>
      <option value="40">circle</option>
  </select>

 

转载于:https://www.cnblogs.com/boonya/archive/2012/03/18/2404756.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值