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 相关文章推荐
Jquery 切换不同图片示例代码
Dec 05 Javascript
用JavaScript实现用一个DIV来包装文本元素节点
Sep 09 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
Jul 27 Javascript
js 获取经纬度的实现方法
Jun 20 Javascript
Angularjs实现mvvm式的选项卡示例代码
Sep 08 Javascript
微信小程序 出现47001 data format error原因解决办法
Mar 10 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
Aug 16 Javascript
vue自定义filters过滤器
Apr 26 Javascript
你了解vue3.0响应式数据怎么实现吗
Jun 07 Javascript
js实现简易计算器功能
Oct 18 Javascript
多个Vue项目部署到服务器的步骤记录
Oct 22 Javascript
详解vite+ts快速搭建vue3项目以及介绍相关特性
Feb 25 Vue.js
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重定向的3种方式
2013/03/07 PHP
PHP环境搭建(php+Apache+mysql)
2016/11/14 PHP
PHP实现非阻塞模式的方法分析
2018/07/26 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
Add a Table to a Word Document
2007/06/15 Javascript
Jquery拖拽并简单保存的实现代码
2010/11/28 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
jquery ajax 局部刷新小案例
2014/02/08 Javascript
jQuery之ajax删除详解
2014/02/27 Javascript
JS获取图片高度宽度的方法分享
2015/04/17 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
基于jQuery实现的向下滑动二级菜单效果代码
2015/08/31 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
2016/02/14 Javascript
jQuery页面元素动态添加后绑定事件丢失方法,非 live
2016/06/16 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
基于jQuery实现的设置文本区域的光标位置
2018/06/15 jQuery
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
vue中的自定义分页插件组件的示例
2018/08/18 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
vue实现动态按钮功能
2019/05/13 Javascript
vue-model实现简易计算器
2020/08/17 Javascript
node中短信api实现验证码登录的示例代码
2021/01/20 Javascript
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
2020/09/21 Python
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
施华洛世奇加拿大官网:SWAROVSKI加拿大
2018/06/03 全球购物
拉夫劳伦爱尔兰官方网站:Ralph Lauren爱尔兰
2020/04/10 全球购物
Java的类与C++的类有什么不同
2014/01/18 面试题
中学教师培训制度
2014/01/31 职场文书
宪法宣传周工作方案
2014/05/26 职场文书
高中运动会广播稿
2014/09/16 职场文书
2014年学校德育工作总结
2014/12/05 职场文书
信仰纪录片观后感
2015/06/08 职场文书
单位车辆管理制度
2015/08/05 职场文书
CSS中float高度塌陷问题的四种解决方案
2022/04/18 HTML / CSS