vue中使用百度地图

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

1.安装插件

yarn add vue-baidu-map --save

2.在main.js注册

import baiduMap from 'vue-baidu-map'
Vue.use(baiduMap, {
 // ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */
  ak: ''
})

3.在页面使用

<baidu-map
  @ready="init"
  class="baiduMap"
  id="cfbaiduMap"
  scroll-wheel-zoom//允许缩放
  >
</baidu-map>
设置一个固定的宽高

4.百度地图初始化函数及批量生成自定义图标点

 init({ BMap, map }) {
      //enableMapClick:false 表示禁止地图内景点信息点击
      map = new BMap.Map('baiduMap', { enableMapClick: false })
      // 设置地图允许的最大最小级别
      map.setMinZoom(5)
      map.setMaxZoom(20)
      // 开启鼠标滚轮缩放
      map.enableScrollWheelZoom(true)
      // 设置中心点坐标和地图级别
      map.centerAndZoom(this.city, 14)
      // 创建自定义标记 参数:自定义图片路径 大小 偏移量
      const icon = new BMap.Icon(
        require('./assets/image/youtong-icon-01.png'),
        new BMap.Size(20, 30),
        { anchor: new BMap.Size(0, 0) }
      )
      // 根据坐标批量生成自定义图标点
      this.cityData.forEach((item) => {
        // 创建点
        const point = new BMap.Point(item.enti_lnt, item.enti_lat)
        // 创建标注
        const marker = new BMap.Marker(point, { icon: icon })
        // 将标注添加到地图中
        map.addOverlay(marker)
        // 给标记点添加点击事件
        marker.addEventListener('click', (e) => {
          执行想进行的操作(经个人测试在此处注册点击事件效果最佳,该有的数据项都可以获取)
        })
      })
    },

5.需求1:切换中心点

// 创建一个函数处理缩放变化
      this.fn = () => {
        map.centerAndZoom(this.city, 16)
      }
// 用函数重新执行中心点,哪里用哪里调

6.需求2:鼠标滑过自定义图标改变

// 创建一个新图标
 const icon1 = new BMap.Icon(
        require('./assets/image/youtong-icon-03.png'),
        new BMap.Size(20, 30),
        { anchor: new BMap.Size(0, 0) }
      )
// 创建一个函数处理图标更换(这里我使用的是递归的方式)
      let marker1 = ''
      this.fnIcon = (data, val) => {
        marker1 = new BMap.Marker(data, { icon: icon1 })
        map.addOverlay(marker1)
        marker1.addEventListener('mouseout', () => {
          map.removeOverlay(marker1)
          const marker = new BMap.Marker(data, { icon: icon })
          map.addOverlay(marker)
          map.closeInfoWindow(val, data)
          marker.addEventListener('mouseover', () => {
            map.openInfoWindow(data, val)
            this.fnIcon(data, val)
          })
        })
      }

需求3:鼠标滑过展示信息窗口

     // 注册一个信息窗口
        const opts = {
          width: 100, // 信息窗口宽度
          height: 50, // 信息窗口高度
          message: '提示信息'
        }
        const infoWindow = new BMap.InfoWindow(item.enti_name, opts)
        marker.addEventListener('mouseover', () => {
          map.openInfoWindow(infoWindow, point)
        })
        marker.addEventListener('mouseout', () => {
          map.closeInfoWindow(infoWindow, point)
        })

文章来源地址https://www.toymoban.com/news/detail-630105.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)
  • 百度地图采集经纬度坐标数据定位的javascript实战开发(地理坐标拾取系统、地址定位点选插件、实时定位、数据导入、地理编码、位置纠偏)

    在百度地图的标注开发中,最为关键的操作就是经纬度坐标信息的拾取。在不同的应用场景,坐标的拾取方式不同。现就常见的地理坐标拾取系统、地址定位点选插件、手机端GPS实时定位、数据导入、地理编码、位置纠偏等做全面的介绍。 传送门:http://api.map.baidu.com/lbsapi/

    2024年02月01日
    浏览(32)
  • 申请百度地图开发者AK和基本使用

    前言 有需求就会有市场,百度地图也会开放一些免费的Api。来提供一些基本的地图服务。 今天我们讲解的是百度地图申请AK过程,和申请完之后基本的使用,方便大家日后有需要浏览。 AK-申请 1.首先我们学习一个技术最直接的是去看官方文档,大家可以搜索百度地图开放平

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

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

    2024年02月16日
    浏览(30)
  • 使用JavaScript和Vue.js框架开发的电子商务网站,实现商品展示和购物车功能

    引言: 随着互联网的快速发展和智能手机的普及,电子商务行业正迎来一个全新的时代。越来越多的消费者选择网上购物,而不再局限于传统的实体店。这种趋势不仅仅是改变了消费者的习惯购物,也给企业带来了巨大的商机。为了不断满足消费者的需求,电子商务网站需要

    2024年02月15日
    浏览(47)
  • 百度地图JavaScript API添加自定义Marker

    官网指导添加自定义Marker 实际使用中发现无法显示图标,找了一些博客 百度地图开发自定义图标无法显示的问题 百度地图自定义图标不显示问题解决方案 关于百度地图开放平台api覆盖物“自定义Marker图标”不能正常显示的解决方案 百度电子地图自定义marker图标 百度地图

    2024年02月07日
    浏览(35)
  • 漏刻有时百度地图API实战开发(1)华为手机无法使用addEventListener click 的兼容解决方案

    漏刻有时百度地图API实战开发(1)华为手机无法使用addEventListener click 的兼容解决方案 漏刻有时百度地图API实战开发(2)文本标签显示和隐藏的切换开关 漏刻有时百度地图API实战开发(3)自动获取地图多边形中心点坐标 漏刻有时百度地图API实战开发(4)显示指定区域在移动端异常的

    2024年01月19日
    浏览(45)
  • 百度地图API:JavaScript开源库几何运算判断点是否在多边形内(电子围栏)

    漏刻有时百度地图API实战开发(1)华为手机无法使用addEventListener click 的兼容解决方案 漏刻有时百度地图API实战开发(2)文本标签显示和隐藏的切换开关 漏刻有时百度地图API实战开发(3)自动获取地图多边形中心点坐标 漏刻有时百度地图API实战开发(4)显示指定区域在移动端异常的

    2024年02月07日
    浏览(51)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包