vue 百度地图 + 定位

vue 百度地图 + 定位

> 前提需要自己有百度的密钥,如没有可以去百度地图申请

一、在主目录下的index.html引入js,例如:

这里写图片描述
这里写图片描述

二、在webpack.base.conf.js配置文件中配置BMap,在module.exports 中与entry平级,例如:

这里写图片描述

三、在项目中引入BMap:

这里写图片描述

四、代码:

<template>
  <div class="home">
    <div id="allmap" class="allmap"></div>
  </div>
</template>

<script>
  import {getStore, setStore, removeStore} from '@/config/Utils'
  import BMap from 'BMap'
  export default {
    data () {
      return {
        type: 'tab',
        address_detail: null,
        center: {lng: 116.40387397, lat: 39.91488908}
      }
    },
    mounted () {
      this.ready()
    },
    methods: {
      ready () {
        let map = new BMap.Map('allmap')
        let point = new BMap.Point(this.center.lng, this.center.lat)
        map.centerAndZoom(point, 10)
        map.enableScrollWheelZoom(true)
        map.enableDoubleClickZoom(true)
        var geolocation = new BMap.Geolocation()
        geolocation.getCurrentPosition((r) => {
          if (r.point) {
            this.center.lng = r.longitude
            this.center.lat = r.latitude
            let markers = new BMap.Marker(r.point)
            map.addOverlay(markers)
            map.panTo(r.point)
            map.centerAndZoom(r.point, 16)
          }
        }, { enableHighAccuracy: true })
      }
    }
  }
</script>

<style>
  #allmap{
    width: 100%;
    height: 15rem;
  }
</style>

这里写图片描述

五、效果:

这里写图片描述

如有错误地方,请留言指教,谢谢大家

  • 2
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
你可以使用百度地图 JavaScript API 来实现在 Vue 中进行定位。首先,你需要在你的 Vue 项目中引入百度地图 JavaScript API 的 SDK。 1. 在你的 HTML 文件中添加以下代码来引入百度地图的 SDK: ```html <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=YOUR_API_KEY"></script> ``` 请将 `YOUR_API_KEY` 替换为你自己申请的百度地图的 API 密钥。 2. 在你的 Vue 组件中,你可以使用 `mounted` 钩子函数来初始化地图和定位: ```javascript mounted() { // 创建地图实例 const map = new BMap.Map("map-container"); // 创建定位控件实例 const geolocation = new BMap.Geolocation(); // 获取位置信息 geolocation.getCurrentPosition((result) => { if (geolocation.getStatus() === BMAP_STATUS_SUCCESS) { // 定位成功,获取经纬度信息 const { point } = result; // 在地图上显示定位结果 map.centerAndZoom(point, 15); map.addOverlay(new BMap.Marker(point)); } else { // 定位失败 console.log("定位失败:" + geolocation.getStatus()); } }); }, ``` 在上面的代码中,我们通过 `BMap.Map` 创建了一个地图实例,并通过 `BMap.Geolocation` 创建了一个定位控件实例。然后,使用 `geolocation.getCurrentPosition` 方法获取位置信息,并根据定位结果在地图上进行展示。 3. 在你的 Vue 模板中,添加包含地图的容器: ```html <template> <div id="map-container"></div> </template> ``` 通过以上步骤,你就可以在 Vue 中使用百度地图进行定位了。记得替换 `YOUR_API_KEY` 为你自己的百度地图 API 密钥,并根据需要调整地图的样式和定位的精度等参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值