经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » Vue.js » 查看文章
vue+openlayer5获取当前鼠标滑过的坐标实现方法
来源:jb51  时间:2021/11/16 11:12:16  对本文有异议

前言:       

 在vue项目中怎么获取当前鼠标划过的坐标呢,这里来分享下方法。 实现效果:

实现步骤:

1、引入相关文件

import MousePosition from 'ol/control/MousePosition';
import {createStringXY} from 'ol/coordinate';

 2、生成地图

var layers = [
        //深蓝色背景
        new TileLayer({
           source: new XYZ({
             url:
              "https://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}",
           }),
         }),
       
      ];
this.map = new Map({
        layers: layers,
        target: "map",
        view: new View({
          center: this.center,
          projection: this.projection,
          zoom: this.centerSize,
          maxZoom: 17,
          minZoom: 5,
          extent: [
            73.32783475401652, 3.33795, 135.16017906160056,
            53.83501005646246,
          ],
        }),
      });

3、加入鼠标事件

var mousePositionControl = new MousePosition({
         coordinateFormat: createStringXY(6),//获取位置
         projection: 'EPSG:4326',
         className: 'custom-mouse-position',
         target: document.getElementById('mouse-position'), //将位置数据放到那里
         undefinedHTML: '&nbsp'
      });
      this.map.addControl(mousePositionControl);

4、页面上加入

<div id="map" class="map" ref="imageDom">
 
    位置div
    <div id="mouse-position" style="
        color: #fff;
        position: absolute;
        bottom:10px;
        right:10px;
        z-index: 10000000;
        width: 200px;
        line-height: 30px;
        background: rgba(0,0,0,0.5);
    "></div>
</div>

到此这篇关于vue+openlayer5获取当前鼠标滑过的坐标的文章就介绍到这了,更多相关vue+openlayer5鼠标坐标内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接: NPS