vue3中使用百度地图的简单步骤

 更新时间:2023年06月13日 08:50:31   作者:多喝开水少熬夜  
最近项目要用到百度地图api,好久没用到地图,就百度了一番,下面这篇文章主要给大家介绍了关于vue3中使用百度地图的简单步骤,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

前言

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

一、申请ak

在百度开发者平台上面申请,其他博客都可以看到相关申请过程,这里就不多述。

因为还处于开发调试状态,所以白名单写的是**。

二、使用步骤

1.在public下index.html引入相关script

 <script
    type="text/javascript"
    src="https://api.map.baidu.com/api?v=1.0&&type=webgl&ak=your_ak"
></script>

2.在相关页面编写代码

代码如下(示例):

<template>
  <div class="bmap" id="container"></div>
  <div></div>
</template>
<script>
import { useStore } from 'vuex'
// import { ref } from 'vue'
export default {
  name: 'BmapDemo',
  mounted() {
    const store = useStore()
    var map = new window.BMapGL.Map('container')
    var point = new window.BMapGL.Point(
      store.state.record.longitude,//这里本人项目中可以有相关store数据,建议从自己项目出发进行修改
      store.state.record.latitude
    )
    map.centerAndZoom(point, 18)
    map.enableScrollWheelZoom(true)
    var label = new window.BMapGL.Label('疲劳地点', {
      position: point, // 设置标注的地理位置
      offset: new window.BMapGL.Size(0, 0) // 设置标注的偏移量
    })
    // 添加标签
    map.addOverlay(label) // 将标注添加到地图中
    label.setStyle({
      fontSize: '32px',
      color: 'red'
    })
    var marker = new window.BMapGL.Marker(point) // 创建标注
    map.addOverlay(marker) // 将标注添加到地图中
    var scaleCtrl = new window.BMapGL.ScaleControl() // 添加比例尺控件
    map.addControl(scaleCtrl)
    var zoomCtrl = new window.BMapGL.ZoomControl() // 添加缩放控件
    map.addControl(zoomCtrl)
    var cityCtrl = new window.BMapGL.CityListControl() // 添加城市列表控件
    map.addControl(cityCtrl)
  },
  setup() {
    // const store = useStore()
    // let latitude = ref('')
    // let longitude = ref('')
    // console.log(store.state.record.latitude)
    // latitude.value = store.state.record.latitude
    // longitude.value = store.state.record.longitude
    // return {
    //   latitude,
    //   longitude
    // }
  }
}
</script>
<style scoped>
.bmap {
  width: 800px;
  height: 600px;
  border: 1px solid #000;
}
</style>

显示结果:

总结

感觉这种方法是最快速的,关键点有一个就是new window.BMapGL.Map,前面要加window。然后其他用法都可以在官方文档中查到。

链接:
https://lbsyun.baidu.com/index.php?title=jspopularGL/guide/getkey

到此这篇关于vue3中使用百度地图的文章就介绍到这了,更多相关vue3使用百度地图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解基于vue的移动web app页面缓存解决方案

    详解基于vue的移动web app页面缓存解决方案

    这篇文章主要介绍了详解基于vue的移动web app页面缓存解决方案,非常具有实用价值,需要的朋友可以参考下
    2017-08-08
  • 浅析对Vue中keep-alive缓存组件的理解

    浅析对Vue中keep-alive缓存组件的理解

    <keep-alive> 是一个抽象组件,用于将其内部的组件保留在内存中,而不会重新渲染,这意味着当组件在<keep-alive> 内部切换时,其状态将被保留,而不是被销毁和重新创建,这篇文章主要介绍了Vue中的keep-alive缓存组件的理解,需要的朋友可以参考下
    2024-01-01
  • Vue中对组件二开解决思路以及方案

    Vue中对组件二开解决思路以及方案

    这篇文章主要介绍了Vue中对组件二开解决思路以及方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-04-04
  • vue3+vite配置tailwindcss全过程

    vue3+vite配置tailwindcss全过程

    这篇文章主要介绍了vue3+vite配置tailwindcss全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • Vue3实现跨页面传值的几种常见方法

    Vue3实现跨页面传值的几种常见方法

    在Vue 3中,跨页面传值可以通过多种方式实现,具体选择哪种方法取决于应用的具体需求和页面间的关系,本文列举了几种常见的跨页面传值方法,感兴趣的同学跟着小编来看看吧
    2024-04-04
  • 在Vue-cli里应用Vuex的state和mutations方法

    在Vue-cli里应用Vuex的state和mutations方法

    今天小编就为大家分享一篇在Vue-cli里应用Vuex的state和mutations方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • Vue.js结合bootstrap实现分页控件

    Vue.js结合bootstrap实现分页控件

    这篇文章主要为大家详细介绍了Vue.js 合bootstrap实现分页控件的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Vue使用video.js的代码详解

    Vue使用video.js的代码详解

    这篇文章主要介绍了Vue使用video.js的代码详解,包括在vue脚手架中引入video.js,实例化了视频.js播放器,并在上销毁了它,结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • Vue组件的通信方式详解

    Vue组件的通信方式详解

    这篇文章主要介绍的是Vue组件间的通信方式,本文将系统的介绍了几种不使用Vuex,比较实用的组件间的通信方式,希望能帮助到大家
    2023-04-04
  • vue使用formData时候传递参数是个空值的情况处理

    vue使用formData时候传递参数是个空值的情况处理

    这篇文章主要介绍了vue使用formData时候传递参数是个空值的情况处理,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05

最新评论