web项目中使用百度地图经验

1 篇文章 0 订阅
1 篇文章 0 订阅
本文分享了在web前端项目中使用百度地图的经验,包括应用前的秘钥申请,将地图引入项目,以及具体使用示例,强调了在Vue组件中绘制地图的关键步骤,并提供了官方参考文档链接。
摘要由CSDN通过智能技术生成

应用前准备工作

1、http://lbsyun.baidu.com/index.phptitle=%E9%A6%96%E9%A1%B5 打开百度地图官网链接在最底部点击申请秘钥进行申请和激活。
2、申请成功后到我的应用里面查看我的应用,将会看到刚才创建的应用以及秘钥。这里写图片描述
3、点击设置按钮来对应用简单进行配置。
这里写图片描述

引入地图到项目中

  1. 首先在index.html中用script标签引用百度地图的js文件。这里写图片描述
  2. 在webpack.base.conf.js 中配置百度地图所需要的配置。具体操作是在model.exports对象下面配置externals对象。这里写图片描述
  3. 创建我们的百度地图组件,定制我们需要的地图场景

具体使用示例

1、首先定义地图的容器 <div id="allmap"></div>
2、在组件中引用百度地图
import BMap from 'BMap';
import BMapSymbolSHAPEPOINT from 'BMap_Symbol_SHAPE_POINT';

3、在绘制地图的阶段必须写在vue的mounted阶段来执行。

methods:{
  baiduMap (map) {
    this.createMap(map);
    this.addMarker(map);
  },
  getNumberLabel(number){
    let offsetSize = new BMap.Size(4, 3);
    let labelStyle = {
      color: '#fff',
      backgroundColor: '0.05',
      border: '0'
    };
    let label = new BMap.Label(number, {
      offset: offsetSize
    });
    label.setStyle(labelStyle);
    return label;
  },
  createMap(map){
    let point = new BMap.Point(116.29845,39.95933); //确地地图的中心点
    map.centerAndZoom(point,14); //视窗大小
    map.enableScrollWheelZoom(); //是否可缩放
    let icon = new BMap.Icon('https://lbsyun.baidu.com/jsdemo/img/fox.gif', new BMap.Size(300,157),{imageOffset:new BMap.Size(20,-20)}); //覆盖物
    let maker = new BMap.Marker(point,{icon:icon}); // 绘制点
    let circle = new BMap.Circle(point,2000,{fillColor:'blue', strokeWeight: 1 ,fillOpacity: 0.3, strokeOpacity: 0.3}); //显示范围
    map.addOverlay(maker);
    map.addOverlay(circle);
  },
  addMarker(map){  //继续添加点
    this.recentVendor.forEach((item,index) =>{
      let po = new BMap.Point(item.lng,item.lat);
      let marker = new BMap.Marker(po);
      marker.setLabel(this.getNumberLabel(index + 1));
      let html = `<table><tr><td>${item.coverName}</td></tr><tr><td>${item.address}</td></tr>`;
      let info = new BMap.InfoWindow(html);
      marker.addEventListener('click',function(){
        this.openInfoWindow(info);
      });
      map.addOverlay(marker);
    });
  }
},
mounted() {
  let map = new BMap.Map('allmap'); //初始化map对象
  this.baiduMap(map);
}

4、官方参考文档

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值