利用Editbar控件,可以在OpenLayers地图上绘制点、线、面图元。

1. 创建OpenLayers地图对象,并添加一个WMS图层作为底图。

2. 创建OpenLayers的Vector Layer

绘制的点、线、面图元需要有一个Vector图层进行存储。

1 var vlayer = new OpenLayers.Layer.Vector( "Editable" );

Vector图层的图层名为"Editable"

3. 将WMS图层和”Editable”图层添加到地图上

map.addLayers([layer,vlayer]);

4. Map上添加Edit Tool Bar控件

//创建edit tool bar控件,并制定edit tool bar控件作用于vlayer图层
var editbar = new OpenLayers.Control.EditingToolbar(vlayer)
map.addControl(editbar);

5. 设置html的onload函数

完成后的就可以在vlayer上添加图元了。效果如下图所示

完整的代码

 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 2 <HTML>  3 <HEAD>  4 <TITLE> OpenLayers : Map Edit </TITLE>  5 <link rel="stylesheet" href="./OpenLayers-2.10/theme/default/style.css" type="text/css" />  6 <link rel="stylesheet" href="css/style.css" type="text/css" />  7 <style type="text/css">  8  #wrapper  9 { 10  width: 800px; 11 } 12  #location { 13  float: right; 14 } 15  #scale { 16  float: left; 17 } 18 </style> 19 <script src="./OpenLayers-2.10/lib/OpenLayers.js"></script> 20 <script type="text/javascript"> 21 22 var map = null; 23 var wms_url = "http://127.0.0.1:8080/geoserver/wms?"; 24 var wms_layer = "world:country"; 25 var wms_format = 'image/png'; 26 var wms_version = "1.3.0"; 27 28 function init() 29  { 30 //创建map对象, 31  map = new OpenLayers.Map("map"); 32 var layer = new OpenLayers.Layer.WMS("OpenLayers WMS", 33  wms_url, 34  { 35  layers: wms_layer, 36  format: wms_format, 37  singleTile: true 38  }); 39 //创建Vector 图层 40 var vlayer = new OpenLayers.Layer.Vector( "Editable" ); 41 //添加Edit Tool Bar 42 var editbar = new OpenLayers.Control.EditingToolbar(vlayer); 43  map.addControl(editbar); 44 // 添加图层 45  map.addLayers([layer,vlayer]); 46 47  map.addControl( new OpenLayers.Control.LayerSwitcher() ); 48  map.zoomToMaxExtent(); 49  } 50 </script> 51 52 </HEAD> 53 54 <BODY onload="init()"> 55 <div> 56 <div id="map" class="smallmap"></div> 57 </div> 58 </BODY> 59 </HTML

OpenLayers-Editbar控件相关推荐

  1. Vue+Openlayers显示TileWMS时不显示默认控件放大缩小旋转等组件

    场景 Vue中使用Openlayers加载Geoserver发布的TileWMS: Vue中使用Openlayers加载Geoserver发布的TileWMS_霸道流氓气质的博客-CSDN博客 在上面 ...

  2. openlayers添加按钮_OpenLayers3加载常用控件使用方法详解

    本文实例为大家分享了OpenLayers3加载常用控件使用的具体代码,供大家参考,具体内容如下 1. 前言 地图控件就是对地图的缩放.全屏.坐标显示控件等,方便我们对地图进行操作.OpenLayers ...

  3. OpenLayers基础教程——常规的地图控件

    1.前言 熟悉GIS的同志对地图控件应该不会陌生,ArcMap中就有很多地图控件,比如放大.缩小.全图等.其实在OpenLayers中也有很多地图控件,它们都继承了ol.control.Control ...

  4. OpenLayers学习笔记高级篇(二、地图控件)

    在OpenLayers 3中,地图控件指的是下图标注的这些,包括缩放按钮,标尺,版权说明,指北针等等. 他们不会随着地图的移动而移动,一直处于一个固定的位置. 在实现上,并不是在画布上绘制的,而是使用 ...

  5. openlayer右键菜单_让OpenLayers的SelectFeature控件支持鼠标右键事件

    OpenLayers上的一个Feature对象单击出现一个气泡很容易实现,但是右键出现点菜单什么的就不容易了,关键在于SelectFeature控件不支持右键事件,所以我就改之.. 修改的源文件是基于 ...

  6. openlayers图层开关控件

    openlayers2自带图层开关控件,但是自openlayers3后,不再有这个控件.但是,当了解了openlayers控件开发后,我们可以自己实现这个控件,实现起来也非常之简单.不多说,先看下结果 ...

  7. Openlayers之地图比例尺控件

    1.新建一个html页面,引入ol.js和ol.css文件,然后在body中创建两个div标签,分别用来作为地图和比例尺控件的容器: 2.代码实现 <!DOCTYPE html> < ...

  8. openlayer 图层上下_OpenLayers实现图层切换控件

    OpenLayers并没有封装图层切换的控件,所以我们需要自己来实现图层控件. 自定义图层切换控件的原理很简单:显示某个图层时,将其他图层隐藏. 完整代码: layerSwitch.html: 图层切 ...

  9. webbrowser控件 加载为空白_OpenLayers教程五:地图控件之坐标拾取控件和鹰眼控件...

    一.坐标拾取控件 很多时候我们想要实时获取鼠标光标指示处对应的坐标,就像高德地图的坐标拾取:控制台 | 高德开放平台 | 高德地图API OpenLayers提供的ol.control.MousePo ...

最新文章

  1. 如何创建复杂的机器学习项目?
  2. 大学毕业生如何应对“没有工作经验”的难题
  3. 关于datagrid中控件利用js调用后台方法事件的问题
  4. 谷歌X实验室开源了一款像血糖仪一样的EEG识别系统
  5. java的知识点12——==和equals方法、 super关键字、 继承树追溯、封装的作用和含义、封装的实现—使用访问控制符、封装的使用细节
  6. 【转】msyql使用-用户创建/权限配置
  7. java中常见的几种内部类,你会几个?(未完)
  8. 第二季2:/package/mpp/sample的总体分析
  9. matlab2020数值计算,MATLAB2020从入门到精通
  10. 微信被曝大“Bug”?有用户账户资金被盗刷,这个功能要慎用
  11. C语言-目标文件/链接文件
  12. Spring框架中级联赋值(外部属性注入)以及内部属性注入
  13. 'tensorflow' has no attribute 'sub'
  14. 十六. 面向对象上下文管理协议
  15. JavaScript深入之执行上下文栈 1
  16. java hd sex_Java学习笔记(十八)——Java DTO
  17. 微软2023届秋季校园招聘 | 内推名额等待优秀的你
  18. 【量化投资】三大经典策略
  19. Android Studio运行项目
  20. idea2020.1.1 窗口显示 Outdated version. 完美解决

热门文章

  1. Android联系人号码中横线的去除
  2. 全国二级计算机等级考试科目,全国计算机等级考试二级的各个科目是什么
  3. YOLOv7 训练报错:subprocess.CalledProcessError: Command ‘git tag‘ returned non-zero exit status 127
  4. 详解公网Ip和私网ip
  5. AMBA 系列之 AXI 总线协议初探
  6. 关于PASSAT手档车换档时机的选择(转载)
  7. 随机生成及检测8位密码:必须由大写字母、小写字母、数字和特殊符号共同组成
  8. 开放式耳机排行榜,排名前五的开放式耳机分享
  9. Xcode9无线真机调试
  10. python基础语法元素笔记_Jupyter笔记-Python语法基础(U.1)