当前位置: 首页 > news >正文

Vue使用BMapGL,及marker简单使用

1、封装加载器

export function BMapLoader(ak) {return new Promise((resolve, reject) => {if (window.BMapGL) {resolve(window.BMapGL)} else {const script = document.createElement('script')script.type = 'text/javascript'script.src = 'https://api.map.baidu.com/api?v=1.0&type=webgl&callback=initBMap&ak=' + akscript.async = truescript.onerror = rejectdocument.head.appendChild(script)}window.initBMap = function () {resolve(window.BMapGL)}})}

2、初始化地图

initEcharts() {this.$nextTick(() => {BMapLoader('UdQGUa0BgiwGEvGs5aQHLCasM5LEEpTO').then(BMapGL => {const map = new BMapGL.Map('echarts1', { enableMapClick: false })this.map = mapmap.disableKeyboard() // 禁用键盘操作地图map.enableScrollWheelZoom(true) // 开启鼠标滚轮缩放// 添加中心点和缩放等级,如果不添加,初始化出来页面为白屏const point = new BMapGL.Point(116.280190, 40.049191)map.centerAndZoom(point, 15)map.enableScrollWheelZoom(true);map.setHeading(64.5);
map.setTilt(73);})})},

html

 <div id="echarts1" style="width: 100%; margin-bottom: 20px"></div>

3、简单使用

1)地图点击事件(我们可以从返回值event中获取经纬度)

map.addEventListener('click', function(e) {console.log(e);
});

2)创建一个位置

 const point = new BMapGL.Point(116.280190, 40.049191)

3)在位置上创建一个标记点

let marker = new BMapGL.Marker(point);  
map.addOverlay(marker);  

4)创建一个信息框

let opts = {width: 250,     // 信息窗口宽度height: 100,    // 信息窗口高度
}
let infoWindow = new BMapGL.InfoWindow("采集点:23<br/>电耗:2901.9kwh<br/>全校占比:10.9%", {...opts,...{title: "综合楼"}}); 

5)将信息框的点击事件绑定到标记点上

marker.addEventListener("click", function(){          map.openInfoWindow(infoWindow, point); //开启信息窗口}); 
http://www.lryc.cn/news/189762.html

相关文章:

  • WuThreat身份安全云-TVD每日漏洞情报-2023-10-10
  • BSCI认证是谁来验厂?
  • Java中如何在两个线程间共享数据
  • 4、在 CentOS 8 系统上安装 pgAdmin 4
  • 【数字人】3、LIA | 使用隐式空间来实现视频驱动单张图数字人生成(ICLR 2022)
  • 深度学习基础知识 最近邻插值法、双线性插值法、双三次插值算法
  • 计算机竞赛 : 题目:基于深度学习的水果识别 设计 开题 技术
  • 【2023美团后端-8】删除字符串的方案,限制不能连续删
  • 蓝桥等考Python组别十七级008
  • docker安装sql-server数据库,使用navicat实现备份数据库导入
  • 深度学习batch、batch_size、epoch、iteration以及小样本中episode、support set、query set关系
  • Air001 TIM1高级定时器单脉冲输出模式使用
  • 矿机生意难做,比特大陆停发工资
  • 计算机竞赛python区块链实现 - proof of work工作量证明共识算法
  • pyqt 划线标注工具,可用于车道线标注
  • 蓝桥等考Python组别十七级004
  • 计算机毕业设计选什么题目好?springboot 职业技术学院图书管理系统
  • 外汇天眼:6个常见网络投资诈骗迹象,如发现任何一个,务必小心!
  • MyBatis的xml里#{}的参数为null报错、将null作为参数传递报错问题
  • 【网络安全】「漏洞原理」(一)SQL 注入漏洞之概念介绍
  • Go语言错误处理最佳实践
  • python结合excel数据轻松实现接口自动化测试
  • 构建精致 Chrome 插件:开箱即用的 TypeScript 模板 | 开源日报 No.51
  • 在Windows下自己从源码编译Python3.10.13成安装包
  • WIN10如何搭建自己的博客
  • uniapp 首页制作
  • 意大利航天飞行器公司【Sidereus】完成510万欧元融资
  • 10-网络篇-DHCP获取的参数详解
  • MVCC底层原理
  • 云原生Docker容器管理