OpenLayers3实现鼠标移动显示坐标


Posted in Javascript onSeptember 25, 2020

本文实例为大家分享了OpenLayers3实现鼠标移动显示坐标的具体代码,供大家参考,具体内容如下

1. 前言

鼠标移动显示坐标,OpenLayers 3 框架提供了鼠标移动显示坐标的控件(ol.control.MousePosition),默认显示在地图的右上角,其样式可以自定义。在这个例子中,我们通过前面的加载 OSM 加载瓦片图层,实现在地图容器的左下角显示坐标点的信息。

2. 实现思路

(1)新建一个网页,参考前面的加载 OSM 瓦片地图,实现加载瓦片地图。
(2)在地图容器中新建一个 div 用于显示坐标信息,并设置其样式,通过设置 z-index 让其显示到地图上面。
(3)实例化一个鼠标位置控件(ol.control.MousePosition),可以根基实际的需求设置其,参数,例如坐标系(projection)、坐标值的显示格式(coordinateFormat)、关联显示鼠标位置坐标点的目标容器(target)等。
(4)在地图容器中加载到地图容器中。可以在实例化地图容器 Map 的代码中,通过设置 controlas 参数加载鼠标位置控件,也可以调用 map 对象的 addControl 方法加载控件。

3. 实现代码如下:

html:

<!DOCTYPE html>
<html lang="en">

<head>
 <meta charset="UTF-8">
 <title>鼠标移动显示坐标信息</title>
 <link rel="stylesheet" href="css/bootstrap.min.css" >
 <link rel="stylesheet" href="css/ol.css" >
 <link rel="stylesheet" href="css/ZoomSlider.css" >
 <script src="js/ol.js"></script>
 <script src="js/MousePosition.js"></script>
 <style>
 #map {
  width: 100%;
  height: 100%;
  position: absolute;
 }

 #mouse-position {
  float: left;
  position: absolute;
  bottom: 5px;
  width: 200px;
  height: 20px;
  /* 将z-index设置为显示在地图上层 */
  z-index: 2000;
 }
 /* 显示鼠标信息的自定义样式设置 */

 .custom-mouse-position {
  color: red;
  font-size: 16px;
  font-family: "微软雅黑";
 }
 </style>
</head>

<body onload="init()">
 <div id="map">
 <div id="mouse-position"></div>
 </div>
</body>

</html>

代码解析:

在地图容器中创建一个 div 用于显示坐标信息,并设置其样式,这个 div 层是是鼠标位置控件的最外层容器,它所包含的内层为鼠标信息文本标签,默认类名为 ol-mouse-position,可以自行定义。例如我们修改了他的字体大小以及颜色等。

js代码:

function init() {
 // 实例化鼠标位置控件
 var mousePositionControl = new ol.control.MousePosition({
 coordinateFormat: ol.coordinate.createStringXY(4), //坐标格式
 projection: 'EPSG:4326', //地图投影坐标系
 className: 'custom-mouse-position', //坐标信息显示样式
 // 显示鼠标位置信息的目标容器
 target: document.getElementById('mouse-position'),
 undefinedHTML: ' ' //未定义坐标的标记
 });


 // 实例化Map对象加载地图
 var map = new ol.Map({
 target: 'map', //地图容器div的id
 layers: [ //地图容器加载的图层
  new ol.layer.Tile({ //加载瓦片图层数据
  source: new ol.source.OSM() //数据源,加载OSM数据
  })
 ],
 view: new ol.View({
  center: [102, 35],
  zoom: 3
 }),
 // 加载控件到地图容器中
 // 加载鼠标位置控件
 controls: ol.control.defaults().extend([mousePositionControl])
 });
}

代码解析

(1)coordinateFormat:坐标值的显示格式。
(2)projection:投影坐标系,将当前鼠标位置的坐标点设置为当前坐标系下的相应值进行显示。
(3)target:关联显示其坐标点信息的目标容器,即最外层容器元素,就是我们创建的 id 为mouse-position 的 div 元素。
(4)className:坐标信息采用的显示样式的类名即坐标值文本的样式类名,就是我们自定义的样式类名 custom-mouse-position 。

实现效果如下:

OpenLayers3实现鼠标移动显示坐标

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

Javascript 相关文章推荐
用javascript获得地址栏参数的两种方法
Nov 08 Javascript
javascript 框架小结 个人工作经验
Jun 13 Javascript
JQuery动画和停止动画实例代码
Mar 01 Javascript
js拖拽功能实现代码解析
Nov 28 Javascript
Vue过滤器的用法和自定义过滤器使用
Feb 08 Javascript
创建简单的node服务器实例(分享)
Jun 23 Javascript
探索Vue高阶组件的使用
Jan 08 Javascript
jquery点击回车键实现登录效果并默认焦点的方法
Mar 09 jQuery
JS简单实现动态添加HTML标记的方法示例
Apr 08 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
Jul 05 Javascript
详解Vue中CSS样式穿透问题
Sep 12 Javascript
ES6如何用一句代码实现函数的柯里化
Jan 18 Javascript
js获取url页面id,也就是最后的数字文件名
Sep 25 #Javascript
OpenLayers3实现图层控件功能
Sep 25 #Javascript
OpenLayers实现图层切换控件
Sep 25 #Javascript
OpenLayers3实现对地图的基本操作
Sep 28 #Javascript
vue中实现弹出层动画效果的示例代码
Sep 25 #Javascript
OpenLayers3加载常用控件使用方法详解
Sep 25 #Javascript
在webstorm中配置less的方法详解
Sep 25 #Javascript
You might like
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
PHP使用反向Ajax技术实现在线客服系统详解
2019/07/01 PHP
javascript Prototype 对象扩展
2009/05/15 Javascript
动态表格Table类的实现
2009/08/26 Javascript
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
2012/04/12 Javascript
利用div+jquery自定义滚动条样式的2种方法
2013/07/18 Javascript
jQuery中slideUp()方法用法分析
2014/12/24 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
JS数组排序方法实例分析
2016/12/16 Javascript
微信小程序 常用工具类详解及实例
2017/02/15 Javascript
Popup弹出框添加数据实现方法
2017/10/27 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
Vue Router的手写实现方法实现
2020/03/02 Javascript
JavaScript ES6 Class类实现原理详解
2020/05/08 Javascript
python中实现精确的浮点数运算详解
2017/11/02 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
2017/11/15 Python
解决pyqt5异常退出无提示信息的问题
2020/04/08 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
2020/05/22 Python
IE矩阵Matrix滤镜旋转与缩放及如何结合transform
2012/11/29 HTML / CSS
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
法国低价在线宠物商店:bitiba.fr
2020/07/03 全球购物
项目经理的岗位职责
2013/11/23 职场文书
人事部主管岗位职责
2013/12/26 职场文书
大学生村官心得体会范文
2014/01/04 职场文书
保安部任务及岗位职责
2014/02/25 职场文书
职务说明书范文
2014/05/07 职场文书
工作会议简报
2015/07/20 职场文书
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python