vue 使用百度地图记录

这篇具有很好参考价值的文章主要介绍了vue 使用百度地图记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考文档
https://lbsyun.baidu.com/index.php?title=jspopular3.0/guide/infowindow
https://lbsyun.baidu.com/cms/jsapi/reference/jsapi_reference_3_0.html#a0b0

1.百度地图标注点点击出现infoWindow信息窗口添加点击事件

vue 使用百度地图记录,vue.js,前端,百度

var opts = {
          width: 200, // 信息窗口宽度
          height: 40, // 信息窗口高度
          title: `${point.name}`, // 信息窗口标题
        };
 var infoWindow = new BMap.InfoWindow(
   "<span id='markerbtn'>点击查看相关工单</span>",
   opts
 ); // 创建信息窗口对象

 marker.addEventListener("click", function () {
   map.openInfoWindow(infoWindow, bPoint); //开启信息窗口
   document.getElementById("markerbtn").onclick = function (e) {
     alert("门店编号:");
   };
 });
 

2.监听滚轮百度地图缩放层级

var map = new BMap.Map("container");
      map.addEventListener("zoomstart", function (e) {
        console.log(e.target.getZoom()); //监听缩放层级
      });

3.平移到指定经纬度点

 const bPoint = new BMap.Point(point.lon, point.lat); // 创建点
 map.panTo(bPoint); //平移到这个点

4.自定义覆盖物画个对话框

vue 使用百度地图记录,vue.js,前端,百度

	var point = new BMap.Point(IMlat, IMlon);
      map.enableScrollWheelZoom(true);//是否允许忘了
      map.centerAndZoom(point, 16);//地图放大到16层级
      // 自定义覆盖物 这是方框
      let content = `<span>${IMname}</span>`;
      let label = new BMap.Label(content, {
        position: point,
      });
      label.setStyle({
        padding: "5px 10px",
        textAlign: "center",
        color: "#fff",
        fontSize: "12px",
        backgroundColor: "#ED2D2D",
      });
      //这是个三角
      let content1 = `<span>&#9660;</span>`;
      let label1 = new BMap.Label(content1, {
        position: point,
      });
      label1.setOffset(new BMap.Size(0, 22));//设置三角偏移
      label1.setStyle({
        color: "#ED2D2D",
        backgroundColor: "transparent",
        border: "none",
      });
      label.setZIndex(999);
      map.addOverlay(label);
      map.addOverlay(label1);

5.设置点聚合,清除点聚合

参考链接:https://api.map.baidu.com/library/MarkerClusterer/1.2/docs/symbols/BMapLib.MarkerClusterer.html

 <!-- 在index.html中引入 点聚合 -->
    <script type="text/javascript" src="https://api.map.baidu.com/library/TextIconOverlay/1.2/src/TextIconOverlay_min.js"></script>
    <script type="text/javascript" src="https://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></script>
var map= new BMap.Map("container");
var markerClusterer = new BMapLib.MarkerClusterer(map, {
      markers: [],
      gridSize: 100,
      maxZoom: 18,
    }); //点聚合初始化
//设置点 点聚合
var markers = [];
function drawAreaPoint(AreaPointArr) {
	 if (markers.length > 0) {
        markerClusterer.clearMarkers(markers);//设置新的点需要先清除之前的点
      }
	 AreaPointArr.forEach((point) => {
	    let bPoint = new BMap.Point(point.lon, point.lat); // 创建点
	    markers.push(new BMap.Marker(bPoint));
	});
	markerClusterer = new BMapLib.MarkerClusterer(map, {
        markers: markers,
    }); //点聚合
}
 function clickreSet(handleSelect) {
      //清除聚合
      markers = [];
      if (markers.length > 0) {
        markerClusterer.clearMarkers(markers);
      }
    }

6.点聚合点击事件屏幕抖动

下载这个js文章来源地址https://www.toymoban.com/news/detail-539449.html

到了这里,关于vue 使用百度地图记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue3使用百度地图(详)

    提示:该博客vue采用vue3,使用百度地图通过组件 vue-baidu-map-3x : 组件官网:https://map.heifahaizei.com/doc/baidu-map.html 下面会从头开始介绍如何使用百度地图以及常用组件功能(附带遇到的问题和解决方案) 步骤:1. 进入百度地图开放平台 | 百度地图API SDK | 地图开发 2.打开顶部控制

    2024年02月06日
    浏览(46)
  • vue3 中使用百度地图

    最近一个项目要用到地图,因为微信小程序用的也是百度地图,所以想着网页端也用百度地图,在网上查了很多方法,包括引入百度地图第三方库,还是有问题,发现最简单的方法就是在index.html中引入script,然后直接在相关页面肝就完事。 在百度开发者平台上面申请,其他

    2023年04月17日
    浏览(41)
  • vue项目中使用百度地图,详细过程

    简述:我们在写项目的时候,有时候难免会用到地图,这里给大家介绍一下如何在vue项目中使用百度地图,获取可视区域坐标,以及添加线路、站点。 1、 首先,在项目中安装百度地图依赖。 2、 全局注册,在main.js中一次性引入百度地图组件库的所有组件,  //   ak 是在百

    2023年04月15日
    浏览(36)
  • vue-使用Baidu(百度地图)实现输入位置获取定位经纬度

    前言 开发中我们需要地图定位,就是用户输入位置,自动定位获取经纬度,传递给后端存在数据库 找了一圈发现千篇一律,最后也是使用element的搜索输入款配合原生百度地图实现这个功能 点击地图需要逆地址解析,输入地址时调用百度地图渲染在下拉框,选择传输地址,经

    2024年02月16日
    浏览(30)
  • amis百度前端框架,在js中使用amis写json转页面

    1.在项目中使用百度 amis 的sdk做开发库。 2。加载sdk中的库: 3.创建一个主页面(代码片段里面重要是创建了一个div元素, 这个不重要 ): 代码中主要用了custom组件,在这个组件中可以写js,通过js创建 一个div元素;

    2024年02月13日
    浏览(29)
  • 【Vue】集成百度地图

    1、获取百度地图 ak 密钥 2、登录网址 https://lbsyun.baidu.com/ 3、注册百度地图开放平台账号,填写认证信息,并且创建应用 注意 BaiduMap 组件容器本身是一个空的块级元素,如果容器不定义高度,百度地图将渲染在一个高度为 0 不可见的容器内。 没有设置center 和 zoom 属性的地图

    2024年02月10日
    浏览(27)
  • 前端系列——vue2+高德地图web端开发(使用和引入)

    本人非专业前端开发,其实是搞后端的,但是正好接了一个项目需要我负责全栈,所以写了这个系列的文章,如果以后项目可以开源我会放出来的 本次我们要实现的是vue2+高德地图的网页开发 本文需要大家系统学过vue以及初步了解高德地图的情况下理解起来会十分省力 高德

    2024年01月16日
    浏览(38)
  • vue项目中使用echarts和china.js实现中国地图

    在echarts最新的5.4.0版本中,已不能直接引用china.js来绘制中国地图,需要我们自己下载china.js包 在网上查找资料,大部分是在index.html文件中直接引入echarts和china.js文件,但我使用这种方法在vue项目中引入失败,目前尝试可行的方法是把包下载到node_modules的echarts包里面,文件和

    2024年02月13日
    浏览(27)
  • VUE百度地图加载3D模型(MapVThreeGallery)

    参考百度开发文档 补充下(里面有免费的可以拿来玩)3D模型下载网址 步骤 1: npm install mapv-three 安装插件 2:在index.html加载百度地图 注:加载model.glb文件需要是请求服务器来的,没有服务器资源的可以像我一样在本地用VS插件(Live Server)起了个小型服务器放3D模型数据 ----使用

    2024年02月11日
    浏览(33)
  • CesiumJS使用详细,在vue中使用Cesium.js(WebGIS中的Cesium地图可视化应用)

    简述:Cesium是一种基于WebGL开源的虚拟地球技术,可以用于构建高性能、跨平台的三维地球应用程序,它支持多种数据格式和地图服务,可以实现地球表面的高精度渲染、地形分析、数据可视化等功能。Cesium还提供了丰富的API和插件,方便开发者进行二次开发和定制化,且可

    2024年02月10日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包