OpenLayer3自定义测量控件MeasureTool


Posted in Javascript onSeptember 28, 2020

一直苦恼于OpenLayer3没有现成的测量工具,看了歪果仁做的图层控件,于是自己结合了官网上的measure实例和歪果仁的模板鼓捣出了一个测量工具控件。

下载地址

描述

基于Openlayers3所做的自定义控件,支持测量距离(line)和测量面积(area)以及geodesic测量

  • 加载css和js文件后直接引用即可
  • 使用JavaScript原生编写,不需要引入JQuery

使用效果如图:

OpenLayer3自定义测量控件MeasureTool

使用方式

在html页面中引入OpenLayer3的css和js文件后再加入下载的measuretool.css和measuretool.js

<link rel="stylesheet" href="measureTool.css" type="text/css">
<script type="text/javascript" src="measureTool.js"></script>

之后在初始化map之后加入MeasureTool工具:

var MeasureTool = new ol.control.MeasureTool({
 sphereradius : 6378137,//sphereradius
});
map.addControl(MeasureTool);

其中的参数sphereradius 是用来支持geodesic测量设置球体半径的,可根据不同的模型设置不同的半径大小,默认大小为6378137,在引入时也可以不传入该参数。

注:测量工具中的checkbox选中为使用geodesic测量,未选中为不使用geodesic测量,默认为未选中。

完整示例html代码:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <meta name="author" content="giser_yugang@163.com" />
 <title>ol3-MeasureTool使用示例(example)</title>
 <link rel="stylesheet" href="https://openlayers.org/en/v3.19.1/css/ol.css" type="text/css">
 <script src="https://openlayers.org/en/v3.19.1/build/ol.js"></script>
 <link rel="stylesheet" href="measureTool.css" type="text/css">
 <script type="text/javascript" src="measureTool.js"></script>

 <style>
  #map{
  height: 80%;
  width: 90%;
  }

  </style>
 </head>
 <body>
 <div id="map" class="map"></div>

 <script type="text/javascript">
  var map = new ol.Map({
  layers: [
   new ol.layer.Tile({
   source: new ol.source.OSM()
   })
  ],
  target: 'map',
  view: new ol.View({
   center: [11575000, 3602500],
   zoom: 14
  })
  });

  var MeasureTool = new ol.control.MeasureTool({
  sphereradius : 6378137,//sphereradius
  });
  map.addControl(MeasureTool);
 </script>

 </body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 自定义的联动下拉框
Feb 07 Javascript
javascript仿qq界面的折叠菜单实现代码
Dec 12 Javascript
查看图片(前进后退)功能实现js代码
Apr 24 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
Jun 08 Javascript
JavaScript中var关键字的使用详解
Aug 14 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
May 12 Javascript
JavaScript知识点总结(十)之this关键字
May 31 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
Aug 16 Javascript
vuejs2.0运用原生js实现简单的拖拽元素功能示例
Feb 24 Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
Apr 17 Javascript
vue 项目中使用Loading组件的示例代码
Aug 31 Javascript
vue2 中二级路由高亮问题及配置方法
Jun 10 Javascript
Openlayers实现距离面积测量
Sep 28 #Javascript
Openlayers+EasyUI Tree动态实现图层控制
Sep 28 #Javascript
JS sort排序详细使用方法示例解析
Sep 27 #Javascript
vue中实现点击变成全屏的多种方法
Sep 27 #Javascript
通过实例解析json与jsonp原理及使用方法
Sep 27 #Javascript
React 条件渲染最佳实践小结(7种)
Sep 27 #Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
Sep 27 #Javascript
You might like
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
JavaScript 继承详解(四)
2009/07/13 Javascript
别了 JavaScript中的isXX系列
2012/08/01 Javascript
JSON语法五大要素图文介绍
2012/12/04 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
js实现照片墙功能实例
2015/02/05 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
2015/12/03 Javascript
nodejs实现bigpipe异步加载页面方案
2016/01/26 NodeJs
JS简单实现DIV相对于浏览器固定位置不变的方法
2016/06/17 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
vuejs动态组件给子组件传递数据的方法详解
2016/09/09 Javascript
小程序自定义日历效果
2018/12/29 Javascript
AngularJs中$cookies简单用法分析
2019/05/30 Javascript
微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
2019/07/20 Javascript
vue cli4.0项目引入typescript的方法
2020/07/17 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
rhythmbox中文名乱码问题解决方法
2008/09/06 Python
python+opencv实现的简单人脸识别代码示例
2017/11/14 Python
python样条插值的实现代码
2018/12/17 Python
python中列表的切片与修改知识点总结
2019/07/23 Python
Pytorch抽取网络层的Feature Map(Vgg)实例
2019/08/20 Python
Python处理session的方法整理
2019/08/29 Python
Python实现将蓝底照片转化为白底照片功能完整实例
2019/12/13 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
2020/06/02 Python
Python用Jira库来操作Jira
2020/12/28 Python
丝芙兰新加坡官网:Sephora新加坡
2018/12/04 全球购物
婴儿地球:Baby Earth
2018/12/25 全球购物
试述DBMS的主要功能
2016/11/13 面试题
2014年国庆节活动总结
2014/08/26 职场文书
男方婚前保证书
2015/02/28 职场文书
考试后的感想
2015/08/07 职场文书
奖学金发言稿(范文)
2019/08/21 职场文书
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
2021/05/18 Vue.js