百度地图的基础应用

百度地图

解释

LBS: LocationBusinessServer 基于定义位置的商业服务

使用步骤

01登录注册,获取秘钥AK
02引入百度地图js
    <script src="https://api.map.baidu.com/api?
    v=1.0&&type=webgl&ak=你自己的AK"></script>
03创建地图的容器
    <div id="container"></div>
04初始化地图
    var map = new BMap.Map("container")  (初始化地图)
05创建一个地图中心点
    var point new BMap.point(经度,维度)
06设置中心点和滚轮缩放
    map.centerAndZoom(point,15);
    //鼠标滚轮缩放
    map.enableScrollWheelZoom(true);

地图上绘制内容

//创建点
var p = new BMapGL.Point(e.latlng.lng, e.latlng.lat);
//创建标记
var m = new BMapGL.Marker(p);

效果图如下
在这里插入图片描述

线
// var polyline = new BMapGL.Polyline(line, {
// 	strokeStyle: "dashed",
// 	strokeColor: "blue",
// 	strokeOpacity: 0.5
// });

//添加线
// map.addOverlay(polyline);

效果图如下
在这里插入图片描述

 var polygone = new BMapGL.Polygon(line, {
	fillColor: "red",
	strokeColor: "blue",
 	strokeWeight: 2,
	strokeOpacity: 0.5
});

//添加面
map.addOverlay(polygone);

效果图如下
在这里插入图片描述

圆形
//绘制圆圈
		var circle = new BMapGL.Circle(point, 2000, {
			strokeColor: "green"
		});
//添加圆圈
	map.addOverlay(circle);

效果如下
在这里插入图片描述

信息窗口
var opts = {
		    width: 250,     // 信息窗口宽度
		    height: 200,    // 信息窗口高度
		    title: "学好前端,月薪过万!"  // 信息窗口标题
		}
		//信息窗口
		var infoWindow = new BMapGL.InfoWindow(`<p>前端很简单只有<b>js</b></p>
		<img src="https://tse2-mm.cn.bing.net/th/id/OIP-C.X7zAISrtwheOb3BM67fYSgHaE8?w=186&h=124&c=7&r=0&o=5&pid=1.7">
		`, opts);  
		// 创建信息窗口对象
		map.openInfoWindow(infoWindow, point);        // 打开信息窗口
		marker.addEventListener("click",e=>{
			//单击显示
			map.openInfoWindow(infoWindow,point)
		})

效果如下
在这里插入图片描述

标注
//创建标签
		var label = new BMapGL.Label("中国前端学习基地", {       // 创建文本标注
		    position: point,                          // 设置标注的地理位置
		    offset: new BMapGL.Size(0, 0)           // 设置标注的偏移量
		})  
		//添加标签
		map.addOverlay(label);                        // 将标注添加到地图中

效果如下
在这里插入图片描述

移除覆盖物
    map.removeOverlay(覆盖物)

地图的事件

   map.addEventListener("click",e=>{})

地图搜索

//创建一个本地搜索
		var local = new BMapGL.LocalSearch(map,{
			renderOptions:{map:map}
		})
local.search(搜索关键字)

效果如下
在这里插入图片描述

vue中使用百度地图

1.public/index.html
	 script 引入百度地图
2在组件中定义data
  data() {
    return {
      map: null,
      point: null,
      marker: null,
      keyword: "",
      local: null,
    };
  },
3. mounted初始化项目
mounted() {
    //为什什么第三万api需要加window
    // echarts 还是BMapGL 都是挂载到window.上面的
    //如果直接使用在当前的组件里面没有导入这个BMapGL会报错? (效果也会出来,js会向上查找到)
    // 基本上第三方组件,却需要在mounted组件渲染完毕后再执行初始化(确保js已经加裁完毕)
    this.map = new window.BMapGL.Map(this.$refs.map);
    this.point = new window.BMapGL.Point(113.665, 34.784);
    this.map.centerAndZoom(this.point, 15);
    //鼠标滚轮缩放
    this.map.enableScrollWheelZoom(true);
    // 添加一个点
    this.marker = new window.BMapGL.Marker(this.point);
    // 添加覆盖物
    this.map.addOverlay(this.marker);
    //创建一个本地搜索
    this.local = new window.BMapGL.LocalSearch(this.map, {
      renderOptions: { map: this.map },
    });
  },
4.监听数据变化,更新地图
watch: {
    keyword: {
      handler() {
        if (this.keyword === "") {
          //如果为空就清除搜索
          this.local.clearResults();
          //缩放到中心点
          this.map.centerAndZoom(this.point, 15);
        } else {
          this.local.search(this.keyword);
        }
      },
    },
  },
可以通过vue地图插件
vue-baidu-map ⭐170-基于 vue2的百度地图组件库
https://dafrok.github.io/vue-baidu-map
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值